Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 正则表达式查找两个或多个连续字符_Regex - Fatal编程技术网

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

Regex 正则表达式查找两个或多个连续字符,regex,Regex,我需要确定一个字符串是否包含两个或更多连续的alpha字符。两个或多个[a-zA-Z]并排。 例如: 这应该可以做到: [a-zA-Z]{2,} 我很确定你们可以用[A-z]而不是[A-zA-z]来得到小的大写字母字符 我用过的人(作为一个傻瓜): [0-9][0-9]+. 但是西蒙的那张,好多了=D[a-zA-Z]{2,}不适用于两个或多个相同的连续字符。为此,您应该捕获任何角色,然后像这样重复捕获: ()\1 括号中包含的是。它表示任何字符,\1是捕获的结果-基本上是寻找该字符的连续重复

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


这应该可以做到:

[a-zA-Z]{2,}

我很确定你们可以用[A-z]而不是[A-zA-z]来得到小的大写字母字符

我用过的人(作为一个傻瓜):

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

但是西蒙的那张,好多了=D

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

()\1

括号中包含的是。它表示任何字符,\1是捕获的结果-基本上是寻找该字符的连续重复。如果您希望明确哪些字符是相同的连续字符,只需将“任意字符”替换为字符类

([a-zA-Z])\1

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


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

-1:这是另一个很好的例子,说明了为什么你永远不应该把w3schools用作参考或教育<代码>[A-z]与多个字母匹配。具体来说,它还匹配方括号、反斜杠、插入符号、下划线和反勾号;他提到的字符介于
Z
a
之间,因此会(错误地)包含在这种模式中。我的第二个建议是:不要使用w3schools!它有很多像这样微妙的坏信息。哎哟,首先在堆栈上发出刺痛的声音,比我想象的还要刺痛。因此,通过包含A-z,它匹配了从[A-z一堆我不想要的东西和A-z]到大写和非大写之间的所有字符码的所有内容?所以我可以说像[!-+]这样的话?还有一种方法可以访问正则表达式中的charcode,比如[65-90],它与[a-Z]相同?@Kevin
[65-90]
将匹配
5
-
9
(它还包括
6
)和
0
!可能的
{2}
不带逗号也可以,对吗?Alexander,只是想澄清几点:{2}意味着长度必须是2。{2,}意味着表达式的长度可以是=>2,2的反面是什么?<?我很确定你误解了这个问题,因为它是关于两个字母的。您的正则表达式适用于不同的情况:两个相似的字母!
[0-9][0-9]+.