我正在尝试获取能够执行这些操作的正则表达式:
案例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功能,并使用正则表达式替换文本。
谢谢
答案 0 :(得分:1)
Dreamweaver正在使用Javascript Regex风格。
([ \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 #
$1background: -ms-linear-gradient(top, $3, $4);
$1$2
([ \t]*)(box-shadow:\s*([^;]+)\s*;)
$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);