2015-04-12 101 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 - ] +)\ {\}' –

相关问题