【发布时间】:2011-08-15 18:08:46
【问题描述】:
我需要确定一个字符串是否包含两个或多个连续的字母字符。两个或更多[a-zA-Z] 并排。
示例:
"ab" -> valid
"a1" -> invalid
"a b" -> invalid
"a"-> invalid
"a ab" -> valid
"11" -> invalid
【问题讨论】:
标签: regex
我需要确定一个字符串是否包含两个或多个连续的字母字符。两个或更多[a-zA-Z] 并排。
示例:
"ab" -> valid
"a1" -> invalid
"a b" -> invalid
"a"-> invalid
"a ab" -> valid
"11" -> invalid
【问题讨论】:
标签: regex
这应该可以解决问题:
[a-zA-Z]{2,}
【讨论】:
{2} 不带逗号也应该可以,对吧?
max 连续令牌应该使用什么?”。那么答案就是{,max}(见this)
[a-zA-Z]{2,} 不适用于两个或多个相同的连续字符。为此,您应该捕获任何字符,然后像这样重复捕获:
(.)\1
括号捕获 .它代表任何字符, \1 是捕获的结果 - 基本上是在寻找该字符的连续重复。如果您想具体说明您希望找到哪些字符是相同的连续字符,只需将“任何字符”替换为字符类...
([a-zA-Z])\1
查找连续重复的小写或大写字母。匹配“abbc123”而不是“abc1223”。为了允许它们之间有一个空格(即 ab),然后在捕获的字符和重复之间的正则表达式中包含一个可选空格...
([a-z]A-Z])\s?\1
【讨论】:
我用过的个人(作为菜鸟):
[0-9][0-9]+.
但是西蒙的那个,要好得多! =D
【讨论】:
我很确定您可以使用 [A-z] 而不是 [a-zA-Z] 来获得小写和大写字母字符 http://www.w3schools.com/jsref/jsref_obj_regexp.asp
【讨论】:
[A-z] 匹配的不仅仅是字母。具体来说,它还匹配方括号、反斜杠、插入符号、下划线和反引号。
Z 和a 之间,因此会(错误地)包含在这种模式中。我赞同这个建议:不要使用 w3schools! 它有很多这样的微妙的坏信息。
[65-90] 将匹配5-9(其中还包括6)和0!