rePythonを使用して、特定の回数繰り返される同じ文字または数字のセットを見つけよ うとしています。(.)何が繰り返されるかを特定するのに問題なく機能しますが、異なる文字を繰り返さないようにする方法がわかりません。これが私が持っているものです:
re.search(r'(.){n}', str)
したがって、たとえば、 if9999からは一致しますが、。の場合は一致しません。
ありがとう99997n = 4n = 3
どうですか
(?:^|(?<=(.)))(?!\1)(.)\2{n-1}(?!\2)
この意志:
(?:^|(?<=(.))):次のことを確認してください:
^:文字列の先頭にいます(?<=(.)):文字列の先頭にいないか。次に、試合前にキャラクターをキャプチャして、に保存します\1(?!\1)(.):一致しない文字を一致させ\1て保存します\2\2{n-1}\2: n-1回一致(?!\2):\2楽しみにしてマッチングできないことを確認してください(これn-1は象徴的なものにすぎません。明らかに、これをn-1の実際の値に置き換えたいのであり、8-1何かではありません)。
重要な編集:以前のバージョンの正規表現( )は、一致の背後にある(.)\1{n-1}(?!\1)文字の一致を考慮できないため、機能しません。\1上記の正規表現はこの問題を修正します。