我正在尝试捕获用'。'包围的任何1-2位数字。或一行的开头/结尾。
E.G
1.0.4.11
71.11.11.11
0.11.0.0
有效且
无效
现在我有了(?<=\.|^)\d{1,2}]?(?=\.|$)
,它可以正确捕获数字,但也可以捕获11 ..或1.11等组。
我需要扩展此正则表达式以基本验证它是否始终为x.x.x.x格式,其中x为1-2位数字。
有关其他信息,此正则表达式将使用wxWidgets正则表达式类运行,但我相信这是标准的正则表达式解析器。
注意
对于任何将此作为参考的人...使用wxWidgets时,必须使用wxRE_ADVANCED
标志构造wxRegex类,因为默认情况下,它使用的基本/快速实现不包含数量词(?*)。在此表达式中使用。
答案 0 :(得分:5)
可以通过在字符串的开始和结束之间专门查找4个组来使其不那么通用(如果在开始或结束处没有\.?
,则可以删除.
):>
^\.?\d{1,2}\.\d{1,2}\.\d{1,2}\.\d{1,2}\.?$