我需要针对特定模式(xxxx.xx.xx)检查输入 例如:1234.12.34,2.3.5,22.22,1.0.3
我制定了这些规则
\d{0,4}
\d{0,4}\.\d{1,2}
\d{0,4}\.\d{1,2}\.\d{1,2}
有没有办法将3条规则合并为一条?
我想过使用嵌套在后面部分的?
运算符,但我无法弄清楚正确的语法
任何指针都赞赏
感谢。
答案 0 :(得分:2)
您可以尝试下面的内容,
^\d{0,4}(?:(?:\.\d{1,2})?\.\d{1,2})?$
?
会将之前的标记变为可选标记。并且不要混淆非捕获组中的?
。
(?:...)
名为non-capturing group,只会进行匹配。它不会捕获任何角色。此?
模式中的最后(?:\.\d{1,2})?
将转换整个模式,即(?:\.\d{1,2})
为可选项。
^
声称我们刚开始,$
声称我们已经结束了。
答案 1 :(得分:1)
^(?:\d{0,4}|\d{0,4}\.\d{1,2}|\d{0,4}\.\d{1,2}\.\d{1,2})$
试试这个。看看演示。
https://regex101.com/r/aI4rA5/1
|
或运营商就是您所需要的。