我需要编写一个正则表达式来验证文本条目。文本必须介于5到16个字符之间(a-Z加连字符,下划线和空格)。这很好,但它也必须检查没有任何连续的空格。
e.g。
hello // PASS
hello there // PASS
hi there you // PASS
hello there // FAIL - two spaces between hello and there
答案 0 :(得分:4)
您可以使用以下内容:
/^(?!.* )[-a-z_ ]{5,16}\z/i
答案 1 :(得分:1)
在Java中,我会选择
" |[^\\p{L}_ -]"
("
不是正则表达式的一部分)。
如果字符串与此正则表达式匹配,则失败。
我会在if句子中单独检查大小(更快)。
如果您想在没有Unicode属性的情况下使用某种语言:
\s\s|[^A-Za-z_ -]
答案 2 :(得分:0)
正则表达式:
^([\w-_]+([\s]{0,1})[\w-_]+)$
匹配这些
hello
hello there
hi there
he-llo
he_las test
不这些
hello there
hello there