ipython 5.1.0でいくつかの(初心者の)プログラミングを行います。ipython、特定のディレクトリを見つける
Mix_XFUEL_0.5_XOXID_0.6_PHI_0.2
のような名前のディレクトリが約100ありますが、数字だけが変更されています。
私はfnmatch
を使用して、名前をプログラムに読み込みます。私が試した
Mix_XFUEL_0.5_XOXID_0.5_PHI_0.2
Mix_XFUEL_0.5_XOXID_0.5_PHI_0.4
Mix_XFUEL_0.5_XOXID_0.5_PHI_0.6
も
Mix_XFUEL_0.6_XOXID_0.6_PHI_0.2
Mix_XFUEL_0.6_XOXID_0.6_PHI_0.4
Mix_XFUEL_0.6_XOXID_0.6_PHI_0.6
:
i = '0.5'
fnmatch.fnmatch(file, 'Mix_XFUEL_'i'_XOXID_'i'_PHI_*'):
は、今私は(XFUEL
とXOXID
の背後にある)最初の2つの数字は次のように、同様にされたすべてのディレクトリを、必要としますそれは動作しません。
どうすればできますか?
使用正規表現、第二キャプチャグループ(\1)
が、これは
import re
re.match(r'Mix_XFUEL_(\d+(?:\.\d+)?)_XOXID_(\1)_PHI', infile)
小数点と一致
(\d+(?:\.\d+)?)
(\d+(?:\.\d+)?)
偉大な答え、ありがとう。私は正規表現に深く入るでしょう... – newbieTheNewest