/^[a-zA-Z]+$/
vs
/[^a-zA-Z]+$/
答案 0 :(得分:2)
表达式开头的^
表示“在字符串开头处锚定”。
字符类 ^
表达式中的[]
表示negate
。
所以/^[a-zA-Z]$/
匹配一个完全由(从头到尾)大写和小写字母字符组成的字符串,而/[^a-zA-Z]$/
匹配“不包含字母字符的字符串结尾” “(例如,字符串末尾的数字)。
this is a string -- matches neither
(contains non alphabetic, but doesn't end in it)
this is a number: 123 -- second expression matches ': 123'
(string ends in non-alphabetic characters)
this -- first expression matches 'this'
(string contains only alphabetic characters)
答案 1 :(得分:0)
在案例1中,^
表示输入的开始。案例二否定了这个词。
案例1:从开始(^
)到结束($
)匹配a-zA-Z
0或更多(+
)次
案例2:将没有(^
)结束的所有内容($
)与a-zA-Z
0-x(+
)字符匹配
答案 2 :(得分:0)
/^[a-zA-Z]+$/
表示字符串应为
^
:从中开始
[a-zA-Z]
:小写或大写字母字符
+
:至少有一个前一个,在这种情况下至少有一个alpha字符
$
:应该以一个不完整的案例或小写字母字符结束
例如:
OnLyUpPeRaNdLoWeRcAsEaNdNoSpAcEs
/[^a-zA-Z]+$/
[^a-zA-Z]
:不大写或小写字符
+
:至少有一个,在这种情况下至少有一个字符但不是的大写或小写字母字符
$
:应以none
大写或小写字母字符结尾
例:
123456789个
anything12345< - 这是有效的,因为我们没有指定字符串应该如何开始,但我们知道它应该以非字母字符结尾