ファイルタイプ(.htm)のディレクトリをスキャンして開く簡単なスクリプトを作成しました。いくつかのテキストを置き換えます。このスクリプトは私の家庭用コンピュータ(Python 2.7.12)では正常に動作しますが、私の仕事用コンピュータ(Python 2.7.8)では動作しません。それは単にマッチを見つけることはありません。それは見ているファイルと同じ形式である、エンコーディングなどregex式はPython 2.7.12で動作しますが、Python 2.7.8では動作しません。
は、式は次のとおりです。
core = re.compile(r'(.*?)(FeatureCatalogue_Core_v??4\.\d_20[123]\d-??[01]\d-??[0123]\d)(.*?)')
"FeatureCatalogue_Core_v4.4_2016-12-31"
"FeatureCatalogue_Core_4.4_20161231" に一致する必要があります
と一致する必要があります「FeatureCatalogue_Core_v5.0_2017-12-31」私は単純なものか、私のexpreをしないのです確信しています
と一致してはなりませんシオンはそれほど正しいわけではありませんが、私はそれを見ることができません。
正規表現は問題ありません。正しいスクリプトの実行を妨げる何かがあります。注意すべき点は、 '?'を '?'で置き換えることができ、 '4'の後の' .'はエスケープする必要があることに注意してください。 –
@WiktorStribiżewが指摘するように、[** your regex works **](https://regex101.com/r/6AYjjz/1) - ここには[**最適化バージョン**](https://regex101.com)があります。/r/6AYjjz/2)も同様である。 – Jan