1

13572_BranchInformationReport_2012-06-28.zip次のテキストからファイル名を抽出したい-

1:30","/icons/def13572_BranchInformationReport_2012-06-28.zip","13572_BranchInformationReport_2012-06-28.zip",0,"184296","6 月 28 日

私が使用している正規表現コードは次のとおりです。

var fileNames = from Match m in Regex.Matches(pageSource, @"[0-9]+_+[A-Za-z]+_+[0-9]+-+[0-9]+-+[0-9]+.+(acc|zip|app|xml|def|enr|exm|fpr|pnd|trm)")
                select m.Value;

これはうまくいくはずです。

私は何が欠けていますか?

4

3 に答える 3

1

次の正規表現を試すことができます。

\d{5}_\w*_\d{4}-\d{2}-\d{2}\.(acc|zip|app|xml|def|enr|exm|fpr|pnd|trm)

これは、次のすべてに一致します。

  1. 5桁から始まる
  2. 次にアンダースコア
  3. 次に、任意の数の文字または数字
  4. 次にアンダースコア
  5. 次に、日付部分: 4 桁、ダッシュ、2 桁、ダッシュ、および最後の 2 桁。
  6. その後、ピリオド
  7. そして最後に拡張子。

PowerShell の例:

$text = '1:30","/icons/def13572_BranchInformationReport_2012-06-28.zip","13572_BranchInformationReport_2012-06-28.zip",0,"184296","Jun 28'

$regex = '\d{5}_\w*_\d{4}-\d{2}-\d{2}\.(acc|zip|app|xml|def|enr|exm|fpr|pnd|trm)'

$text -match $regex

$matches[0]
于 2012-06-28T09:52:46.803 に答える