4

String には 2 つの同一の subString が含まれていると断言したいと思います。

私はこの正規表現を試しました: [A-ZA-Z]{2}

私が検出したいもの:

AZAZ
CUCU
PIPI

しかし、この正規表現は、大文字の文字が 4 つ連続しているかどうかをチェックするだけなので、

ABCD --> it's good and it shouldn't be 

これが不明確な場合は本当に申し訳ありません。繰り返しをアサートする正規表現の書き方がわかりません。

4

1 に答える 1

2

Python を使用すると、次のことができます。

p="((?P<two_chars>[A-Z]{2})(?P=two_chars))"
s="AZAZABCDCUCUPIPI"
re.findall(p, s)
[('AZAZ', 'AZ'), ('CUCU', 'CU'), ('PIPI', 'PI')]

次に、必要な要素をリストから抽出します。または、より速く、次のようにすることもできます。

[k for k,v in re.findall(p,s)]
['AZAZ', 'CUCU', 'PIPI']

それが役に立てば幸い。

于 2013-10-03T09:50:12.077 に答える