正则表达式查找替换Dreamweaver

时间:2013-01-17 14:52:13

标签: html regex cross-browser dreamweaver

我正在尝试获取能够执行这些操作的正则表达式:

案例1:

background: -webkit-linear-gradient(top, #RANDOM_COLOR, #RANDOM_COLOR);

background: -ms-linear-gradient(top, #RANDOM_COLOR, #RANDOM_COLOR); 
background: -webkit-linear-gradient(top, #RANDOM_COLOR, #RANDOM_COLOR);

案例2

box-shadow: RANDOM_TEXT;

-webkit-box-shadow: RANDOM_TEXT;
box-shadow: RANDOM_TEXT;

我只想在Dreamweaver中使用Control + F功能,并使用正则表达式替换文本。

Dreamweaver Replace Feature

谢谢

3 个答案:

答案 0 :(得分:1)

Dreamweaver正在使用Javascript Regex风格。

查找1:

([ \t]*)(background:\s*-webkit-linear-gradient\(top\s*,\s*(#[a-fA-F0-9]{3,6})\s*,\s*(#[a-fA-F0-9]{3,6})\s*\)\s*;)
// assuming these are hexadecimal colors like you indicated with #

替换1:

$1background: -ms-linear-gradient(top, $3, $4); 
$1$2

找到2:

([ \t]*)(box-shadow:\s*([^;]+)\s*;)

替换2:

$1-webkit-box-shadow: $3;
$1$2

<小时/>

第一个查找模式的说明:

所有空格字符\s都是可选的(感谢*)。此外,字面括号被转义。在替换中,$1$2等表示 [capturingGroup n]

(                          # capturing group #1
    [ \t]*                 # 0 or more spaces and/or tabs (could be any number of both)
)
(                          # capturing group #2

    background:\s*-webkit-linear-gradient\(top\s*,\s*
    (                      # capturing group #3
        #[a-fA-F0-9]{3,6}  # a number sign and a string with 3 or 6 digits that's made of a-zA-Z0-9 (aka. hexadecimal characters)
    )
    \s*,\s*
    (                      # capturing group #4
        #[a-fA-F0-9]{3,6}
    )
    \s*\)\s*;
)

答案 1 :(得分:-1)

我不明白正则表达式的原因。

为什么你找不到:

background: -webkit-linear-gradient(top, #BBB, #999);

并替换为:

background: -ms-linear-gradient(top, #BBB, #999);background: -webkit-linear-gradient(top, #BBB, #999);

阴影同样如此......

答案 2 :(得分:-1)

为什么你不要只做#34;匹配案例&#34;并使用&#34;替换所有&#34; /&#34;替换&#34;看起来像是:

案例1:

&#34;查找与#34;

  background: -webkit-linear-gradient(top, #BBB, #999);

&#34;替换&#34;

  background: -ms-linear-gradient(top, #BBB, #999);    
  background: -webkit-linear-gradient(top, #BBB, #999);