我正在尝试匹配可能出现在普通法令中的数字 如:
101.2.23.1 Door Clearances
我有这个匹配数字和多个点的正则表达式:
^[.?\d]+$
但是,我需要允许之后出现的所有文字。此外,这会返回1. 2. 3. 4.
等序数列表的误报。
有没有办法可以匹配开头至少有3个数字的任何东西以及之后的任何文字?
以下是我期望(不)匹配的示例:
101.1 => true
101 => false
1. => false
101.1.1 Clearances => true
答案 0 :(得分:1)
^(\ d +。?)+ \ s(。*)$
第一组是一对或多对(最后一个点可选),第二组匹配其余的
答案 1 :(得分:1)
试试这个:
^\d{3}\..+$
Debuggex Demo(提供所有样本输入的测试)
关键点:
^
- 输入字符串的开头\d{3}\.
- 三位数后跟一段时间.+
- "之后的任何文字" $
- 输入字符串的结尾请注意,在原始模式^[.?\d]+$
中,.
将与.
完全匹配,?
将与?
字面匹配,因为这些字符会出现在字符类中(以[
开头,以]
结尾) - 不是您的预期。