2017-12-29 44 views
0

拡張子が1〜3文字のファイル名を含むファイルを探す必要があります。1文字のファイル名と拡張子を一致させる正規表現

私はこれを行う方法を探していましたが、正しい正規表現の組み合わせを見つけることができません。 boost正規表現が必要な解決法を使用しています。これはperl正規表現に似ていると思います。ここで

は、いくつかの例が一致する必要があります:

1.exe 
a.c 
-.zip (a hyphen is ok for the first part of the filename) 

これらの例には一致しないでください。私が試した

1 (doesn't have an extension) 
1a.exe (has 2+ chars before the period) 

例:

^[.]+\.[a-z0-9]{1,3}$ 
^[a-z0-9]+\.[a-z0-9]{1,3}$ 
^[\w]\.[\w]{1,3}$ 
^([0-9a-z]{1})\..{1,3} 

を任意の助けのためにあなたをいただき、ありがとうございます提供することができます!

答えて

0

あなたはこのようにそれを行うことができます:

^[\w\-]\.\w{1,3}$

文字列^

  • マッチワード文字またはハイフン^[\w\-]
  • の初めから説明

    • ドットにマッチする\.
    • マッチ1と文字列$

    以上\wするのではなく、制限の3倍

  • 端部との間に単語文字:

    ^[a-zA-Z\d\-]\.[a-zA-Z]{1,3}$

  • +0

    私はより制限1を考えます実際には良いものです。 '\ w'は' [a-zA-Z0-9_] 'に等しい任意の単語文字にマッチし、アンダースコアをファイル名および/または拡張子として許します。 – louisfischer

    関連する問題