正则表达式,用于重复3次或更多次字符串的URL过滤

时间:2013-03-18 15:07:54

标签: regex regular-language

我使用正则表达式(\b\w+\b)\W+\1{3,}来过滤重复三次或更多次字符串的网址。我尝试了(\b\w+\b)\W+\1{3,}(\b\w+\b)\W{3,}+\1但没有帮助

http://rubular.com/r/6IyCPyBiuW - > (\b\w+\b)\W+\1 - >这可以找到仅重复一次以上的单词,但我有兴趣找到重复三次以上的单词。

http://rubular.com/r/O9NcobUsTX - > (\b\w+\b)\W+\1{3,} - >这不能找到重复三个或更多的单词

1 个答案:

答案 0 :(得分:5)

以下正则表达式有效:

(\w+\W)\1{2,}

上面也匹配非单词字符,完全,所以,换句话说,你可以使用相当难看的字样

(\w+)(?:\W+\1){2,}

<强>详细信息:

\w    -> single word character
\w+   -> one or more word characters
\W    -> non-word character
\1    -> back-reference to capturing group #1 (in this case, (\w+)
{2,}  -> 2 or more of (?:\W+\1)
(?:)  -> grouping without actually capturing anything

http://rubular.com/r/Trb41xxCAt