3

正規表現(\b\w+\b)\W+\1{3,}を使用して、文字列が 3 回以上繰り返される URL をフィルタリングしています。試してみましたが、役に立ち(\b\w+\b)\W+\1{3,}ませ(\b\w+\b)\W{3,}+\1んでした

http://rubular.com/r/6IyCPyBiuW -> (\b\w+\b)\W+\1-> これは、複数回繰り返される単語を検索する場合にのみ機能しますが、3 回以上繰り返される単語を検索することに興味があります。

http://rubular.com/r/O9NcobUsTX -> (\b\w+\b)\W+\1{3,}-> これは、3 つ以上繰り返される単語を見つけるには機能しません

4

1 に答える 1

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

于 2013-03-18T15:20:34.170 に答える