0
入力を行く:パターン - 1での入力から複数の項目を返すには、
A->(B, 1), (C, 2), (AKSDFSDF, 1231231) ...
予想される出力:
[('A', 1, 2, 1231231)]
はそれが仕事を得るように見えることはできません。私のコード:
import re
pattern = r"([a-zA-z]+)->(.*)"
r = re.compile(pattern)
print r.findall("A->(B, 1), (C, 2), (AKSDFSDF, 1231231)")
>>> [('A', '(B, 1), (C, 2), (AKSDFSDF, 1231231)')]
これで十分ですが、確かに私が欲しいものを正確に抽出することは可能ですか?
これは仕事ができるのに、私が持っているだろうが、それはdoesntの:
pattern = r"([a-zA-z]+)->((\([a-zA-Z]+,([0-9]+)\))*)"
>>> [('A', '', '', '')]
任意のアイデア:このしばらく空の出力(すなわち[]
)を、スロー
pattern = r"([a-zA-z]+)->([\([a-zA-Z]+,([0-9]+)\)]*)"
?
天才、感謝=) 。 – emihir0
@ emihir0答えが助けてくれれば受け入れることを忘れないでください:) –
はい、申し訳ありませんが、あなたはすぐに回答して、回答を受け入れることはできませんでした。好奇心の理由から、なぜそこに '\ b'が必要ですか?私の例では、それがなくても動作します。 – emihir0