我有这个正则表达式:
^(1?)(-| ?)(\()?([0-9]{3})(\)|-| |\)-|\) )?([0-9]{3})(-| )?([0-9]{4}|[0-9]{4})$
我想在字符串中的任何地方允许破折号(“ - ”)。 最好的方法是什么?
答案 0 :(得分:2)
我会说最好的是改变像
这样的部分[0-9]{3}
到
(?:[0-9]-?){3}
这意味着有3个数字,每个数字后跟一个短划线。如果您想允许多个短划线,请将?
更改为*
。
答案 1 :(得分:2)
您可以通过将[0-9]
更改为[0-9-]
答案 2 :(得分:1)
不要打扰正则表达式。