2017-06-05 32 views
-3

在堅果殼我需要兩個正則表達式來檢測.css或.scss文件。Javascript正則表達式設置相反的規則

我需要返回true,如果以下條件被滿足:

#1

  • 文件名可以是任何東西,但絕不能等於「全球性」
  • 文件擴展名必須是'的CSS或' .scss'

#2

  • 文件名必須等於 '全球性'
  • 文件擴展名必須是 '的.css'或' .scss'
+1

可以告訴我們你已經試過了嗎? – horcrux

回答

-1

正則表達式答:

^global\.s?css$ 

正則表達式B:

\.s?css$ 

當正則表達式A匹配時,您的用例#2是正確的。當正則表達式A不匹配並且正則表達式B匹配時,您的用例#1是正確的。

特別是:^的意思是「字符串的開始」,它保證匹配字符串中的前六個字符是global\.表示「匹配一段時間」。如果沒有\.本身意味着「匹配任何我們不想要的字符」。 s?的意思是「無論匹配否或s」。 $表示「字符串結尾」,它保證匹配字符串中的最後三個字符是css

+0

這是偉大的,但我需要明確表示'全局'是不允許在正則表達式b。可以使用'?'' – Samuel

+0

是的,您可以使用'^(!?global \ .s?css $)。* \。s?css $'。 – Welbog

+0

謝謝!應該是'^(?!global \ .s?css $)。* \。s?css $' – Samuel