正则表达式匹配捕获组中的特定数字
Regex matches specific number in capturing group
我想了解如何实现匹配捕获组中特定数字的正则表达式,该数字后跟逗号或绝对数字。
我构建了这个正则表达式:
(0) (\*|16) (\*) (\*) (\*|1|(,[1]))
这个正则表达式匹配一些无效的模式,因为我想确保我在字符串的第五组上有任何数字 1。
示例:
0 16 * * 4,6,1 # Valid
0 16 * * 4,1,6 # Valid
0 * * * 3,1 # Valid
0 16 * * 6 # Invalid
0 * * * * # Valid
0 16 * * 1,3,6 # Valid
0 16 * * 1 # Valid
0 16 * * 11 # Invalid
目前匹配到的是:
0 * * * * # Correct
0 16 * * 1,3,6 # Correct
0 16 * * 1 # Correct
0 16 * * 11 # Wrong
有什么办法可以解决这个问题吗?谢谢!
(0) (\*|16) (\*) (\*) (\*|1|.*,1|1,.*|.*,1,.*)$
如果我们关注最后一部分,我们有:
\*
1
.*,1
1,.*
.*,1,.*
最后的 $
对于前 3 种情况很重要,可以防止例如11
、*1
希望这是你想要的 ;)
我想了解如何实现匹配捕获组中特定数字的正则表达式,该数字后跟逗号或绝对数字。
我构建了这个正则表达式:
(0) (\*|16) (\*) (\*) (\*|1|(,[1]))
这个正则表达式匹配一些无效的模式,因为我想确保我在字符串的第五组上有任何数字 1。
示例:
0 16 * * 4,6,1 # Valid
0 16 * * 4,1,6 # Valid
0 * * * 3,1 # Valid
0 16 * * 6 # Invalid
0 * * * * # Valid
0 16 * * 1,3,6 # Valid
0 16 * * 1 # Valid
0 16 * * 11 # Invalid
目前匹配到的是:
0 * * * * # Correct
0 16 * * 1,3,6 # Correct
0 16 * * 1 # Correct
0 16 * * 11 # Wrong
有什么办法可以解决这个问题吗?谢谢!
(0) (\*|16) (\*) (\*) (\*|1|.*,1|1,.*|.*,1,.*)$
如果我们关注最后一部分,我们有:
\*
1
.*,1
1,.*
.*,1,.*
最后的 $
对于前 3 种情况很重要,可以防止例如11
、*1
希望这是你想要的 ;)