正则表达式,捕获 4 个被 .或行 start/end
Regex, capture 4 numbers surrounded by . or line start/end
我正在尝试捕获任何被“.”包围的 1-2 位数字。或一行的 beginning/end。
E.G
1.0.4.11
71.11.11.11
0.11.0.0
有效并且:
- 1.
- 1111
- 11.11.
- 01.10
无效
现在我有 (?<=\.|^)\d{1,2}]?(?=\.|$)
可以正确捕获数字,但也可以捕获诸如 11.. 或 1.11.
之类的组
我需要扩展此正则表达式以基本上验证它始终采用 x.x.x.x 格式,其中 x 是 1-2 位数字。
有关其他信息,此正则表达式将 运行 使用 wxWidgets 正则表达式 class 但我相信这是标准的正则表达式解析器。
注意
对于任何使用此作为参考的人...使用 wxWidgets,wxRegex class 必须使用 wxRE_ADVANCED
标志构造,因为默认情况下它使用 basic/fast 实现包括在此表达式中使用的量词 (?*)。
您可以通过专门查找字符串开头和结尾之间的 4 个组来降低它的通用性(如果开头或结尾没有 .
,您可以删除 \.?
):
^\.?\d{1,2}\.\d{1,2}\.\d{1,2}\.\d{1,2}\.?$
我正在尝试捕获任何被“.”包围的 1-2 位数字。或一行的 beginning/end。
E.G
1.0.4.11
71.11.11.11
0.11.0.0
有效并且:
- 1.
- 1111
- 11.11.
- 01.10
无效
现在我有 (?<=\.|^)\d{1,2}]?(?=\.|$)
可以正确捕获数字,但也可以捕获诸如 11.. 或 1.11.
我需要扩展此正则表达式以基本上验证它始终采用 x.x.x.x 格式,其中 x 是 1-2 位数字。
有关其他信息,此正则表达式将 运行 使用 wxWidgets 正则表达式 class 但我相信这是标准的正则表达式解析器。
注意
对于任何使用此作为参考的人...使用 wxWidgets,wxRegex class 必须使用 wxRE_ADVANCED
标志构造,因为默认情况下它使用 basic/fast 实现包括在此表达式中使用的量词 (?*)。
您可以通过专门查找字符串开头和结尾之间的 4 个组来降低它的通用性(如果开头或结尾没有 .
,您可以删除 \.?
):
^\.?\d{1,2}\.\d{1,2}\.\d{1,2}\.\d{1,2}\.?$