正则表达式查找两个或多个连续字符

我需要确定一个字符串是否包含两个或多个连续的 alpha 字符。两个或两个以上 [a-zA-Z]并排。 例如:

"ab" -> valid
"a1" -> invalid
"a b" -> invalid
"a"-> invalid
"a ab" -> valid
"11" -> invalid
132665 次浏览

这应该会奏效:

[a-zA-Z]{2,}

我很确定你可以用[ A-z ]代替[ a-zA-Z ]来得到小写和大写字母 alpha 字符 Http://www.w3schools.com/jsref/jsref_obj_regexp.asp

我个人使用:

[0-9][0-9]+.

但是 西蒙的回答更好。

[a-zA-Z]{2,}不适用于两个或多个相同的连续字符。要做到这一点,您应该捕获任何字符,然后像下面这样重复捕获:

(.)\1

括号捕获。它表示任何字符,而 \1是捕获的结果——基本上是寻找该字符的连续重复。如果您希望具体说明您希望找到的是相同的连续字符,只需将“任意字符”替换为字符类..。

([a-zA-Z])\1

查找连续重复的小写或大写字母。匹配的是 abbc123而不是 abc1223。为了允许它们之间有一个空格(例如 ab) ,然后在正则表达式中在捕获的字符和 repeat 之间包含一个可选的空格..。

([a-z]A-Z])\s?\1