RegEx找到两个或多个连续的字符

LRB*_*LRB 67 regex

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

"ab" -> valid
"a1" -> invalid
"a b" -> invalid
"a"-> invalid
"a ab" -> valid
"11" -> invalid
Run Code Online (Sandbox Code Playgroud)

Sim*_*mon 150

这应该做的伎俩:

[a-zA-Z]{2,}
Run Code Online (Sandbox Code Playgroud)

  • 亚历山大,只是为了清除一些事情:{2}意味着长度必须是2. {2,}意味着表达式的长度可以是=> 2 (7认同)

小智 16

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

(.)\1
Run Code Online (Sandbox Code Playgroud)

括号捕获了 . 它代表任何字符,并且\1是捕获的结果 - 基本上是寻找该字符的连续重复。如果您希望具体确定要查找的相同连续字符,只需将“任何字符”替换为字符类...

([a-zA-Z])\1
Run Code Online (Sandbox Code Playgroud)

查找连续重复的小写或大写字母。匹配 onabbc123和 not abc1223。要在它们之间留出空格(即 a ab),请在正则表达式中在捕获的字符和重复字符之间包含一个可选空格...

([a-z]A-Z])\s?\1
Run Code Online (Sandbox Code Playgroud)

  • 这回答了实际的问题,也是我一直在寻找的,非常感谢! (2认同)

小智 7

我个人使用过:

[0-9][0-9]+.
Run Code Online (Sandbox Code Playgroud)

西蒙的答案要好得多。