私は繰り返し質問しているかもしれませんが、私の問題に対する解決策を見つけることができませんので、余裕を持ってください! 引用符で囲まれたフレーズを正規表現で取り込む必要があります。それは簡単ですが、次のような引用符の統一がないと問題が発生します 'सीक्रेट सुपरस्टार'
と‘ डॉन 2 ’
re.findall(r"['(.*?)' |‘(.*?)’] ",text)
を使ってみました。しかし、これはうまくいかない。 異なるタイプの引用符で囲まれたフレーズを見つけるには正規表現が必要です。正規表現を使用してフレーズをキャプチャする
答えて
あなたは
(?:(')|(‘))(.*?)(?(1)'|(?(2)’))
がregex demoを参照してください使用することができます。
詳細
(?:(')|(‘))
- 試合と'
(グループ1に入れて)、またはマッチをキャプチャし、‘
をキャプチャ(グループ2に入れて)(.*?)
- 他の任意の0+文字を一致させますできるだけ少ない改行文字よりも(?(1)'
- グループ1がマッチした場合、一致する場合は'
|
- 他(?(2)’
- グループ2が一致した場合、試合’
))
- 条件付き構文の終わり。
以下Python 2.7 demo参照してください:
rx = ur'''(?:(')|(‘))(.*?)(?(1)'|(?(2)’))'''
s=u"'सीक्रेट सुपरस्टार' and ‘ डॉन 2 ’"
for x in re.finditer(rx, s):
print(x.group(3).encode("utf8"))
出力:
सीक्रेट सुपरस्टार
डॉन 2
答えに感謝します。しかし、私は "सुपरस्टार"または他のタイプの引用符で囲まれたテキストのようなフレーズをチェックする条件を追加する必要があります。上記のソリューションでは、私は2つの状態をキャプチャすることができます。複数の条件を含める方法はありますか? –
はい、代わりに最初の '(?:...)'グループにキャプチャグループを追加するだけで、最後に条件付き構成にチェックを追加します。 '[" ''](。*?)["'']'のように文字列をマッチさせる別の方法を試すこともできます。 [このPythonのデモ](https://ideone.com/GKXCjL)を参照してください。これらの正規表現[** here **]を確認してください(https://ideone.com/Y6Dazl)。[** ['']] //regex101.com/r/5D4SpO/1)。 –
- 1. 正規表現グループのキャプチャ
- 2. 正規表現を使用してコンテンツを取得する正規表現
- 3. 正規表現を使って正規表現を使用する正規表現CSS
- 4. 正規表現が離間フレーズ
- 5. 正規表現を使用して
- 6. 正規表現を使用してR
- 7. Fの正規表現が正規表現を使用しています
- 8. 正確なフレーズと一致する正規表現
- 9. グループをキャプチャしている正規表現の数量化器
- 10. 正規表現がリストにないフレーズを検索する
- 11. python3の正規表現機能を使用して、キャプチャの質問
- 12. 正規表現を使った正規表現を使用した文字列
- 13. 正規表現を使用してORを使用して
- 14. 正規表現用の正規表現
- 15. 最小の文字数を受け入れる正規表現フレーズに一致する正規表現
- 16. 正規表現を使用する
- 17. フレーズを見つけるためのJavaのユーザー正規表現
- 18. 基本正規表現のキャプチャ
- 19. URLの正規表現のキャプチャ
- 20. Java正規表現のパターングループのキャプチャ
- 21. C#正規表現でのキャプチャ
- 22. Javascript正規表現と非キャプチャ括弧
- 23. 正規表現のVBScriptキャプチャは先
- 24. オプションの正規表現のキャプチャPhp
- 25. 複数の正規表現のキャプチャ
- 26. 正規表現とキャプチャの置換
- 27. 正規表現の書式付きテキストをキャプチャして折り返す正規表現
- 28. Pythonの正規表現でサブパターンを繰り返しキャプチャする
- 29. 正規表現は、私は、次の正規表現を使用している表現
- 30. ドットマッチオールモードを使用した正規表現
は '空白を削除し、' [ 'と']。 –
この回答はあなたに役立ちますhttps://stackoverflow.com/a/9523932/5513005 –