2012-05-05 16 views
1

文字列が与えられた場合、のすべてのシーケンスを正確にの4桁で抽出するにはどうすればよいですか?年を抽出するための正規表現

つまり、1234 12 12345 1bc5 9876については、[1234, 9876]を取得します。

私はre.findall('\D\d\d\d\d\D')になりましたが、テキスト境界では失敗します(一致する前後に文字がない場合)。


解決策は、Python 2.7を使用することをお勧めしますが、これはかなり一般的ですが、どの言語でも可能です。

答えて

7

一般的な回答は驚くほど複雑です。詳細はhereを参照してください。しかし、この特定のケースでは、単に単語境界アサーションを使用することができます。\b

re.findall(r'\b\d{4}\b', ....) 
関連する問題