我有一个我想扩展的正则表达式,以便它匹配特定输入的开头。
现在我的正则表达式匹配以下内容: 3位数 - 7位数 和 3digits7digits(一起)
我想通过添加以下内容来扩展它:
+46(空格)073-4567891(以+46开头,后跟空格,然后是3位数字后跟7位数字。
我的尝试:
^\d{3}-\d{7}$|^\d{10}$|^[+46]\s\d{3}-\d{7}$|^[+]\d{46}\s\d{10}$
我正在使用this site检查正则表达式是否正确,但我没有找到任何匹配项。
我在这里做错了什么?
如果有什么不清楚,请询问
答案 0 :(得分:4)
以下正则表达式:(\+46)? ?(\d{3})(-| )?(\d{6,7})
将此作为输入捕获:
答案 1 :(得分:1)
您的模式无法正常使用 [+ 46] ,这意味着从括号中选择 ANY 字符,因此要么修改模式,要么:
使用这个来捕获提到的字符串:
^\+46 \d{3}-\d{7}$
\+
- 首先获取“加号”字符,
46
- 然后46明确,因为他们(可能)永远不会改变你的情况,
- 捕捉空间的空间,
\d{3}-d{7}
- 三位数后跟破折号和七位数。
答案 2 :(得分:1)
您的问题是[+46]
匹配“一个+,4个或6个字符”,[+]\d{46}
匹配“一个+字符,后跟46个数字” - 这两个都不是您想要的!< / p>
用[+]46
或\+46
替换这两者,两者都匹配“一个+字符后跟一个4个字符和一个6个字符”。 ([ ]
和\
都只是转义+字符的替代方法。)