我需要确定一个字符串是否包含两个或多个连续的字母字符。[a-zA-Z]
并排两个以上。例:
"ab" -> valid
"a1" -> invalid
"a b" -> invalid
"a"-> invalid
"a ab" -> valid
"11" -> invalid
Answers:
[a-zA-Z] {2,}不适用于两个或多个相同的连续字符。为此,您应该捕获任何字符,然后像这样重复捕获:
(。)\ 1
括号捕获。代表任何字符,\ 1是捕获的结果-基本上是寻找该字符的连续重复。如果要具体说明要查找的相同连续字符,只需用字符类替换“任何字符”即可。
([a-zA-Z])\ 1
查找连续重复的小写或大写字母。与“ abbc123”而非“ abc1223”匹配。为了在它们之间留一个空格(即ab),请在正则表达式中在捕获的字符和重复字符之间包括一个可选的空格...
([az] AZ])\ s?\ 1
我很确定您可以使用[Az]而不是[a-zA-Z]来获取大小写的小写字母 http://www.w3schools.com/jsref/jsref_obj_regexp.asp
[A-z]
比字母更匹配。具体来说,它还匹配方括号,反斜杠,脱字号,下划线和反引号。
Z
和之间a
,因此(错误地)包含在这种模式中。我第二个建议:不要使用w3schools!这样有很多微妙的坏信息。
[65-90]
将匹配5
- 9
(也包括6
)和0
!
{2}
没有逗号也应该起作用,对吗?