我几乎没有编写正则表达式的经验。我如何检查字符串是否只包含零,空格,连字符和冒号?谢谢!
答案 0 :(得分:3)
使用简单的正则表达式(无正向查找)应该可以获得良好的性能:
^[0 :-]++$
打破它:
^
识别输入的开头[]
表示括号内的任何字符匹配。+
表示前面的(括号)必须匹配1次或更多次。 ++
使其成为possesive,从而提高了效果。$
识别输入结束答案 1 :(得分:2)
/^[0\s:-]+$/
^
=字符串开头[0\s:-]+
=一个或多个零,空格,连字符,冒号。 +
表示一个或多个,\s
是任何空格字符,可能包含换行符和标签。$
=字符串结尾由于模式锚定在^
和$
之间,因此[]
字符类中的字符之外的字符不会匹配。
如果您只允许文字空格而不是任何空白字符,请使用:
/^[0 :-]+$/
答案 2 :(得分:1)
您可以使用范围。
^[0 \-:]{1,}$