2017-04-21 9 views
1

を剥奪しました。
内側のテキストがdataで始まる場合は無視してください。正規表現は、最初の文字が、私は、次の要件を持つ正規表現を記述しようとしています

以下の正規表現は、結果の最初の文字を削除しているという唯一の問題があるようです。

期待される結果:

../public/fonts/glyphicons-halflings-regular.eot 
https://public/fonts/glyphicons-halflings-regular.eot 
../public/fonts/glyphicons-halflings-regular.ttf 
../public/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular 

実際の結果(最初の文字が欠落):

./public/fonts/glyphicons-halflings-regular.eot 
ttps://public/fonts/glyphicons-halflings-regular.eot 
./public/fonts/glyphicons-halflings-regular.ttf 
./public/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular 

正規表現

(?s)url\([^data:](.*?)\);? 

テキスト

src: url(../public/fonts/glyphicons-halflings-regular.eot); 
src: url(https://public/fonts/glyphicons-halflings-regular.eot); 
src: url(../public/fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(data:application/font-woff;base64,bW9kdWxlLmV4cG9ydHMgPSBfX3dlYnBhY2tfcHVibGljX3BhdGhfXyArICIuL2Rpc3QvYXNzZXRzL2ZvbnRzL2dseXBoaWNvbnMtaGFsZmxpbmdzLXJlZ3VsYXIud29mZjIiOw==) format('woff2'),url(data:application/font-woff;base64,bW9kdWxlLmV4cG9ydHMgPSBfX3dlYnBhY2tfcHVibGljX3BhdGhfXyArICIuL2Rpc3QvYXNzZXRzL2ZvbnRzL2dseXBoaWNvbnMtaGFsZmxpbmdzLXJlZ3VsYXIud29mZiI7) format('woff'),url(../public/fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../public/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg'); 
} 

最初の文字を選択するにはどうすればよいですか?

ありがとうございます。

+0

あなたの要件には、実際には5つのマッチがあります。 –

答えて

2

あなたが否定先読みと否定文字クラスを交換する必要があります。

  • url\( - 文字列リテラルurl(
  • url\((?!data)(.*?)\) 
         ^^^^^^ 
    

    regex demo

    詳細を参照してください。 (?!data) - )シンボル - 第

  • \)
  • までできるだけ少ないとして改行文字以外の任意の0+文字に一致するキャプチャグループ1 - 文字のための次のサブdata
  • (.*?)べきではありません。
関連する問題