数字(0〜9)、文字(A〜Z)、角括弧( "()"を含む文字列があります。角括弧が含まれている場合は、角かっこと数字(または文字)を一緒に扱う必要があります。例えば、「(G)8(8)(G)4(C)(G)8(8)」または「(2)2(6)2(6)2(2)2(8)そして、私はこの文字列でパターンを見つける必要があります(重複しない)。ここで、文字列は、それが2回以上発生することを意味します。例えばPythonの文字列でパターンを見つける
"(2)2(6)2(6)2(2)2(8)"
を取り、彼らが二回発生しているため、私は抽出するパターンは、
"2(6)", "(2)2" and "(6)2"
です。文字列
"(G)8(8)(G)4(C)(G)8(8)"
、私は
"(G)8(8)"
を抽出することができます。私はre.compile(r "(。+?)\ 1 +")を知っています。findall(string)、この関数はパターンを見つけることができますが、私の状況には適用できません。誰でも助けてくれますか?ありがとうございました。
用語を定義するためのパターンは何ですか? '(word | digit)digit(word | digit)digit ....'または 'digit(word | digit)digit ...'というルールに従っていますか? – Enix
私はパターン ")2(6"は受け入れられません、括弧と数字(または文字)を一緒にする必要があります – pc101
2番目の文字列もあなたの要件を満たす '8(8) ? –