0

ここで正規表現を正しい方法で画像のファイル名とファイルタイプを除外していますか?

^(\w)+\.(jpg|png|gif)$

演習へのリンクはここにあります:http: //regexone.com/example/4

演習は、ファイルのリストから名前と拡張子を取得することです。

task           text                  capture
skip text      .bash_profile        
skip text      workspace.doc        
capture text   img0912.jpg          img0912, jpg    
capture text   updated_img0912.png  updated_img0912, png    
skip text      documentation.html       
capture text   favicon.gif          favicon, gif    
skip text      img0912.jpg.tmp      
skip text      access.lock
4

1 に答える 1

1

間違いは1つだけです。

ファイル名の最後の文字のみを。でキャプチャします(\w)+。これは「キャプチャグループを繰り返す」と呼ばれますが、ここでは必要ありません。完全な名前を取得するには、数量詞をグループ内に配置します。

    (\w+)

いくつかのメモ

  1. 開始アンカー「^」は必ずしも必要ではありません。探しているものによって異なります。その例では、違いはありません。

  2. \wあなたの例では機能しますが、文字、数字、アンダースコアのみが含まれているため、すべての有効なファイル名をキャプチャすることはできません。

于 2012-09-28T05:28:56.193 に答える