^[a-zA-Z'.\s]{2,40}$"
是我的项目中用于名字字段的原始正则表达式。我想修改这个regex
,这样它就不会允许'test'作为输入。正则表达式只允许字符串,但不允许单词“测试”
"^(?!^test$)(^.*$)");"
可以很好地排除单词'test',但它允许空格&数字。那么什么是正则表达式,它只允许字符串作为输入,但不会允许单词“测试”,即名字可能不是'测试'?
^[a-zA-Z'.\s]{2,40}$"
是我的项目中用于名字字段的原始正则表达式。我想修改这个regex
,这样它就不会允许'test'作为输入。正则表达式只允许字符串,但不允许单词“测试”
"^(?!^test$)(^.*$)");"
可以很好地排除单词'test',但它允许空格&数字。那么什么是正则表达式,它只允许字符串作为输入,但不会允许单词“测试”,即名字可能不是'测试'?
您可以使用
^(?!test$)[a-zA-Z'.\s]{2,40}$
详细:
^
- 串(?!test$)
- 字符串不能等于test
[a-zA-Z'.\s]{2,40}
- 2到40是ASCII字母符号,'
,.
或空白$
- 字符串末尾
您的初始正则表达式还允许空格。如果你想避免匹配'test'和空格,使用'^(?! test $)[a-zA-Z'。] {2,40} $' –
嘿谢谢。空格是好的,只是想避免数字&firstname不能'测试'。 firstname可以是tesdtkkkkd,但不能是'test' – rohit
然后,只需将lookahead添加到您当前的正则表达式中即可,即'^(?! test $)[a-zA-Z'。s] {2,40} $'。这个正则表达式不能匹配数字。 –