私はPythonでどのように再帰的な正規表現のマッチングを実装することができますか(私は例を見つけていませんでした:(例えば、 "foo(bar(bar(foo )))(foo1は)BAR1"どのように再帰正規表現をPythonで実装することができますか?
答えて
残念ながら、私はPythonの正規表現は、再帰的なパターンをサポートしていないと思います
おそらくpyparsingのようなもので、それを解析することができます。http://pyparsing.wikispaces.com/
私は、幸いにも、言っていただろう... – pillmuncher
あなたはでそれを行うことはできません正規表現。Pythonは再帰正規表現をサポートしていません。
あなたpyparsing
#!/usr/bin/env python
from pyparsing import nestedExpr
import sys
astring=sys.argv[1]
if not astring.startswith('('):
astring='('+astring+')'
expr = nestedExpr('(', ')')
result=expr.parseString(astring).asList()[0]
print(result)
を使用することができます実行することが得られます。
% test.py "foo(bar(bar(foo)))(foo1)bar1"
['foo', ['bar', ['bar', ['foo']]], ['foo1'], 'bar1']
これは古い質問ですが、検索してここに来る人のために:
ないのpythonのための代替正規表現モジュールがあります再帰パターンをサポートします: https://pypi.python.org/pypi/regex
そして、それはre
。
すごい新しいエンジン!最後にまともな再帰:)ありがとう。 –
このエンジンはある時点でpythonのstdlibにマージされますか?私はこれについての最近の会話を見つけることができないようです。 –
この回答は実際には例の恩恵を受けるでしょう! :) –
- 1. 正規表現エンジンは再帰的サブパターンで正規表現をどのように解析しますか?
- 2. Pythonでの正規表現の実装
- 3. Python regexモジュールの再帰正規表現ですか?
- 4. 再帰正規表現パターン
- 5. Pythonで正規表現をどのようにデバッグできますか?
- 6. Pythonの正規表現が正しく再帰しない
- 7. この正規表現Pythonをどうすれば解決できますか?
- 8. どのように私はこの正規表現をHaskellで使うことができますか?
- 9. Python正規表現で文字列アンエスケープを実装する
- 10. この正規表現をよりうまく実行できますか?
- 11. このテキストを正規表現とどのように一致させることができますか?
- 12. このスクリプトのPython正規表現の実装
- 13. Perl:正規表現マッチをどのように大文字にすることができますか?
- 14. 特定のトップレベルドメインを正規表現とどのように一致させることができますか?
- 15. 文字列を再帰と正規表現でPython辞書に変換
- 16. 正規表現:どのように正規表現を使用することにより、引用符
- 17. IPv6アドレスとPerl正規表現をどのように一致させることができますか?
- 18. これはどのようにしてAndroid用の正規表現を書くことができますか?
- 19. この正規表現パターンをどのように読むべきですか?
- 20. Pythonで再帰を実装する
- 21. この正規表現がhtaccessでどのように一致するか
- 22. どのようにして正規表現を使うことができますか?
- 23. 拡張正規表現の実装でHTMLを解析できますか?
- 24. MARCレコードを正規表現でどのように解析できますか?
- 25. どのように "正規表現を繰り返すことができますか?
- 26. どのように正規表現のpythonで
- 27. 再帰的なJavaの正規表現に置き換えますか?
- 28. 正規表現正規表現と異なるハイブ正規表現ですか?
- 29. 正規表現がどのようにここでは、たとえば
- 30. これを正規表現でどう捕まえることができますか?
私はこれのためのパーサを書いています。 – Geo
@Tempus、確かに、またはトニーが来るでしょう。 http://stackoverflow.com/a/1732454/193892 –
@AmigableClarkKantそれは大丈夫です、私はトニーを知っています。彼は友人です。 – Geo