この名前形式でなければならないExcelファイルがあります。ここxxx
で、は数値で、yymmddは日付です。変更するだけxxx
でyymmdd
、残りは常に同じです。
CDFSDDRCxxxCurryymmdd.xls
正しいかどうかを確認するために使用できる正規表現とは何ですか?
この名前形式でなければならないExcelファイルがあります。ここxxx
で、は数値で、yymmddは日付です。変更するだけxxx
でyymmdd
、残りは常に同じです。
CDFSDDRCxxxCurryymmdd.xls
正しいかどうかを確認するために使用できる正規表現とは何ですか?
次の正規表現を試してください。
^CDFSDDRC\d{3}Curr\d{6}\.xls$
次のことがうまくいくと思います。
CDFSDDRC\d[3]Curr(([0-9]{2}(0[13578]|1[02])(0[1-9]|[12][0-9]|3[01]))|([0-9]{2}(0[469]|1[1])(0[1-9]|[12][0-9]|30))|([0-9]{2}(02)(0[1-9]|1[0-9]|2[0-8]))|((((04|08|[2468][048]|[13579][26]))|00)(02)29))\.xsl
C#文字列のバックスラッシュをエスケープする必要があると思います。
"CDFSDDRC\\d[3]Curr(([0-9]{2}(0[13578]|1[02])(0[1-9]|[12][0-9]|3[01]))|([0-9]{2}(0[469]|1[1])(0[1-9]|[12][0-9]|30))|([0-9]{2}(02)(0[1-9]|1[0-9]|2[0-8]))|((((04|08|[2468][048]|[13579][26]))|00)(02)29))\\.xsl"
C#では、次のようなことを試すことができると思います:
"CDFSDDRC(?<xxx>[0-9]+)Curr(?<yymmdd>[0-9][0-9][0|1][0-9][0-3][0-9])\.xls"
ただし、matches.Groups["yymmdd"].value をもう一度チェックしてCDFSDDRC123Curr321539.xls
、一致しているが正しくない日付が含まれているなどの特殊なケースをチェックする必要があります。