2017-06-05 23 views
-3

ナットシェルでは、.cssまたは.scssファイルを検出するために2つの正規表現が必要です。Javascript正規表現を設定する正規表現

私は、次の基準が満たされた場合はtrueを返す必要が

#1

  • ファイル名は何でもかまいませんが、同じ「グローバル」
  • ファイル拡張子のどちらかでなければならない必要があります'.cssのまたは' .scss'

#2

  • ファイル名は
  • 'グローバル' ファイルの拡張子は 'の.css'または' .scss'
+1

あなたは既にあなたが試したことを私たちに見せてもらえますか? – horcrux

答えて

-1

正規表現Aのいずれかでなければならないに等しくなければならない:

^global\.s?css$ 

正規表現B:

\.s?css$ 

正規表現Aが一致すると、ユースケース2が真となります。あなたのユースケース#1は、正規表現Aが一致しない場合に真であり、正規表現Bは一致します。

特に:^は、一致する文字列の最初の6文字がglobalであることを保証する "文字列の先頭"を意味します。 \.は「期間に一致」を意味します。 \がなければ、.は、それが私たちが望んでいない "任意の文字にマッチする"ことを意味します。 s?は「何も一致しないか、sと一致する」という意味です。 $は、文字列の最後を意味し、一致する文字列の最後の3文字がcssであることを保証します。

+0

これは素晴らしいですが、私は明示的に 'グローバル'は正規表現bで許可されていないと述べる必要があります。これは '?!'を使って可能ですか? – Samuel

+0

はい、 '^(!? global \ .s?css $)。* \。s?css $'を使用できます。 – Welbog

+0

うわー、ありがとう!それは '^(?global \ .s?css $)。* \。s?css $' – Samuel