所以我得到了这个正则表达式代码/[0-3][0-9][0-1][1-9]\d{2}[-\s]\d{4}?[^0-9]*|[0-3][0-9][0-1][1-9]\d{2}\d{4}/
这个正则表达式代码采用了这种数字:
1002821187
100282 1187
100282-1187
但我发现我不想要这些数字:1002821187
所以可以制作只能找到的1个正则表达式代码:
100282 1187
100282-1187
答案 0 :(得分:1)
您的正则表达式包含一个与包含和不包含空格或-
的数字匹配的替换。你需要这个空格或连字符:
^[0-3][0-9][0-1][1-9][0-9]{2}[-\s][0-9]{4}$
^^^^^
请参阅regex demo。如果您不需要检查任何边界,请删除使模式与整个字符串匹配的^
和$
个锚点,并使用[0-3][0-9][0-1][1-9][0-9]{2}[-\s][0-9]{4}
。或者使用单词边界来查找整个单词\b[0-3][0-9][0-1][1-9][0-9]{2}[-\s][0-9]{4}\b
。
<强>详情
^
- 字符串开头[0-3]
- 从0
到3
[0-9]
- 任意数字[0-1]
(= [01]
) - 0
或1
[1-9]
- 0
[0-9]{2}
- 2位数[-\s]
- -
或空白[0-9]{4}
- 4位数$
- 字符串结束。答案 1 :(得分:-1)
虽然您没有准确说明您要执行的操作,但您可以尝试以下正则表达式:
\b\d{6}-\d{4}\b|\b\d{4}\b|\b\d{6}\b
希望它有所帮助。