私は、スペースで始まりスペースの後にスペースで終わる特定の単語に対して、正規表現を使用して文字列を検索しようとしています。私が検索したい問題の文字列は、スペースで文字列を返す正規表現を検索する
JAKARTA, INDONESIA (1 February 2017)
と私はそれにrtrim
とltrim
を適用することができるように", INDONESIA ("
一部を取り戻すしたいです。私はイギリスに戻ることもできました。
私はこのコードを私のPythonコードの中に書き込もうとしました。
import re
text = "JAKARTA, INDONESIA (1 February 2017)"
countryRegex = re.compile(r'^(,)(\s)([a-zA-Z]+)(\s)(\()$')
mo = countryRegex.search(text)
print(mo.group())
しかしこれは
AttributeError: 'NoneType' object has no attribute 'group'
は私がどんなマッチしたオブジェクトを返すわけではないことを私に示された結果を出力します。
私はregex 101で正規表現を使用しようとしましたが、「あなたの正規表現が件名の文字列と一致しません」というエラーが返されます。
私は、スペース(\s
)その後、私はリテラルのカンマ(,
)をテストとしてこれがうまくいくと仮定1つの以上の文字([a-zA-Z]+
)、その後、別のスペース(\s
)と、最終的に開口部ブラケットは、私が持っていることを確認することそれをエスケープしました(\(
)。私の正規表現に何か問題がありますか?
'^'と '$'アンカーを削除する必要があります。 –
そして '^'アンカーも。 – Toto
@WiktorStribiżewこれはうまくいきました。なぜそれを説明することが可能でしょうか? – mp252