我几乎没有编写正则表达式的经验。我将如何检查字符串是否只包含零、空格、连字符和冒号?谢谢!
问问题
1418 次
3 回答
3
您应该使用简单的正则表达式(无前向查找)获得良好的性能:
^[0 :-]++$
分解它:
^
识别输入的开头[]
表示括号内的任何字符都匹配。+
表示前面的(括号)必须匹配 1 次或多次。++
使其占有,提高性能。$
识别输入的结尾
于 2012-10-11T19:22:18.743 回答
3
/^[0\s:-]+$/
^
= 字符串开头[0\s:-]+
= 一个或多个零、空格、连字符、冒号。+
表示一个或多个,是任何空白字符,\s
可能包括换行符和制表符。$
= 字符串结尾
由于模式锚定在 和 之间^
,$
因此除了[]
字符类中的字符之外,不会匹配其他字符。
如果您只允许文字空间而不是任何空白字符,请使用:
/^[0 :-]+$/
于 2012-10-11T19:22:21.773 回答
1
您可以使用范围。
^[0 \-:]{1,}$
于 2012-10-11T19:21:10.413 回答