正規表現の使い方を学んでいますが、質問があります。のは、私はline
は大文字(それがないもちろんこれは、)で始まり、少なくとも二つの単語を持っているかどうかを確認したい文字列正規表現 - 文字列内の大文字を見つける
line = 'Cow Apple think Woof`
を持っているとしましょう。 Pythonでは、私は以下を実行しようとしました
import re
test = re.search(r'(\b[A-Z]([a-z])*\b){2,}',line)
print(bool(test))
しかし、それはFalse
を出力します。私が代わりに
test = re.search(r'(\b[A-Z]([a-z])*\b)',line)
をすれば、私はprint(test.group(1))
がCow
ですがprint(test.group(2))
はw
、最初のマッチ(test.group
であり、他の要素が存在しない)の最後の文字であることがわかります。
この問題を特定する上で、また問題の一般的な解決方法を教えてください。
ありがとうございます。そうですね、あの括弧はまったく必要ありませんでした! – Argon
さらに、括弧は必要ありません。 're.findall(r '\ b [A-Z] [a-z] + \ b'、line)'あなたが必要なのはすべてです。 –