2015-04-12 38 views
0

我有一段時間搞清楚了grunt-string-replace插件上下文中的正則表達式。正則表達式是否允許您替換單詞的結尾和開頭?

基本上,我試圖把這樣的事情:

!random-cssmixin{} 

,把它變成這樣:

.random-cssmixin; 

是否有可能做到這一點或沒有正則表達式只是允許你操縱之間的文字?

我Gruntfile.js:

'string-replace': { 
      dist: { 
       expand: true, 
       flatten: true, 
       src: devRoot + ['/css/*.less'], 
       dest: sqsRootCss, 
      options: { 
       replacements: [{ 
        pattern: /\$/g, 
        replacement: "@" 
       }, { 
        pattern: "No clue", 
        replacement: "No idea" 

       }] 
      } 
      }, 
     }, 
+0

你有什麼樣的輸入和預期的輸出? –

+0

我把這個例子放在問題的頂部。我正在使用format!random-class {}編寫LESS CSS,預期的輸出應該是.random-class; – jasonbarone

+0

我正在經歷這個的原因是因爲我使用了一些grunt插件,其中一個是autoprefixing。我正在用LESS語法編寫CSS,但我不希望編譯CSS,因爲我的網站CMS SaaS平臺爲我做了這個。所以我的輸出需要在未編譯的LESS中。問題是Autoprefix不理解LESS,所以它會中斷。爲了解決這個問題,我使用支持的字符創建了自己的語法,就像上面的例子。 – jasonbarone

回答

1

您可以使用這樣的正則表達式:

!([\w-]+)\{\} 

Working demo

然後使用替換字符串:

.\1; 

檢查substitution section看到你的預期輸出

enter image description here

+0

謝謝!看起來它正在做一些事情,但它基本上將整個CSS文件全部替換掉​​。 http://imgur.com/CI4uXpe – jasonbarone

+0

任何方式來具體說明它是「以!開始並以{}結尾{ – jasonbarone

+0

@jasonbarone固定,使用正則表達式!!([\ w - ] +)\ {\}' –

相關問題