如何检查一个字符串是否包含一个alphanum chars,连续出现至少n次

时间:2009-12-16 07:15:52

标签: c# regex vb.net

如果字符串按顺序包含至少n个字符,我正在测试字符串:

我有这个正则表达式,但它似乎无法正常工作

(\w\1){3,}

2 个答案:

答案 0 :(得分:3)

(\w)\1{3,}这可以确保您的角色重复至少四次。

(\w\1)的问题是反向引用\1位于捕获组本身内部。 \1指的是第一个括号()组匹配的字符。

如果要捕获整个匹配的字符串,请将正则表达式括在另一个括号组中。

((\w)\2{3,})

请注意,此处反向引用的索引为\2,因为\1是指外括号。

检查示例:

Regex      : ((\w)\2{3,})
TestString : bbaaaaaacc
Match      : aaaaaa
$1         : aaaaaa
$2         : a

答案 1 :(得分:2)

您是在寻找相同角色的n还是n个角色?

(\w)\1{2,}找到一个字符,然后再找到两个字符。因此,如果您在字符串中有3个或更多相同的char连续顺序,它将匹配。

(\w){3,}将匹配3个或更多字符。