実現したいこと
OCR化した文書の中から、特定の文字列を抽出したいのですが、うまくいきません。
例えば、'テキストABC-DE12,34FG(H)ABC-IJ56,78,90KLテキスト'とある中から'ABC'ではじまって'ABC'や日本語の手前の範囲を抽出したいと思っています。
splitやfindallでもうまくいかず、いい方法をアドバイスいただけないでしょうか?
該当のソースコード
Python
1import re 2string = 'テキストABC-DE12,34FG(H)ABC-IJ56,78,90KLテキスト' 3 4re.split(r"(ABC)", string) 5# 結果は、['テキスト', 'ABC', '-DE12,34FG(H)', 'ABC', '-IJ56,78,90KLテキスト']となって別途文字連結や日本語処理が必要になる。 6 7re.findall(r"ABC.*(?=ABC)", string) 8# 結果は['ABC-DE12,34FG(H)']となり、前半は抜けるが後半を抜けない 9 10re.findall(r"ABC.*?((?=ABC)|テ)", string) 11# ['', 'テ']が返ってきます。 12 13re.findall(r"ABC.*?((?=ABC)|(?=テ))", string) 14# ['', ''] 15 16# ほしい結果は['ABC-DE12,34FG(H)', 'ABC-IJ56,78,90KL']
回答2件
あなたの回答
tips
プレビュー