Dreamweaver小结(正则表达式和一些小技巧)

By on 4-24-2014 in 代码

正则表达式

一、分组

使用括号在正则表达式内分隔出以后要引用的分组。然后在“替换”域中使用 $1、$2、$3 等来引用第一个、第二个、第三个和更后面的括号分组。
在“查找内容”框中使用 \1、\2、\3 等(而不是 $1、$2、$3)来引用正则表达式中更早的括号分组。

(\d)px solid #(.*?); border-right: \1px solid #\2;

<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('xxx_xxx_xxx')->toHtml()?>
改成:
<?php echo $this->getChildHtml('xxx_xxx_xxx')?>
这种格式
\\要点,括号等特殊字符需要转义
查找:
<\?php echo \$this->getLayout\(\)->createBlock\(\'cms\/block\'\)->setBlockId\(\'(.*?)\'\)->toHtml\(\)\?>
替换:
<?php echo $this->getChildHtml('$1')?>

二、常用代码

\\查找
-
(.*?) 非贪婪匹配,基本上无敌...
([A-z]*) 匹配英文单词
=================================================================================================================================================================
\\替换
-
<?php echo $this->__('$1') ?>

附 Dreamweaver替换正则表达式表:

字符 匹配 示例
^ 输入或行的起始部分。 ^T 匹配“This good earth”中的“T”,但不匹配“Uncle Tom’s Cabin”中的“T”。
$ 输入或行的结尾部分。 h$ 匹配“teach”中的“h”,但是不匹配“teacher”中的“h”
* 0 个或多个前置字符。 um* 匹配“rum”中的“um”、“yummy”中的“umm”以及“huge”中的“u”
+ 1 个或多个前置字符。 um+ 匹配“rum”中的“um”和“yummy”中的“umm”,但在“huge”中没有任何匹配项
? 前置字符最多出现一次(即,指示前置字符是可选的)。 st?on 匹配“Johnson”中的“son”和“Johnston”中的“ston”,但在“Appleton”和“tension”中没有任何匹配项
. 除换行符外的任何单字符。 .an 匹配短语“bran muffins can be tasty”中的“ran”和“can”
x|y x 或 y。 FF0000|0000FF 匹配 bgcolor=”#FF0000” 中的“FF0000”和 font color=”#0000FF” 中的“0000FF”
{n} 恰好 n 个前置字符。 o{2} 匹配“loom”中的“oo”和“mooooo”中的前两个“o”,但在“money”中没有任何匹配项
{n,m} 至少 n 个、至多 m 个前置字符。 F{2,4} 匹配“#FF0000”中的“FF”和“#FFFFFF”中的前四个“F”
[abc] 用括号括起来的字符中的任何一个字符。用连字符指定某一范围的字符(例如, [a-f] 等效于 [abcdef])。 [e-g] 匹配“bed”中的“e”、“folly”中的“f”和“guard”中的“g”
[^abc] 未在括号中括起来的任何字符。用连字符指定某一范围的字符(例如,[^a-f] 等效于[^abcdef])。 [^aeiou] 最初匹配“orange”中“r”、“book”中的“b”和“eek!”中的“k”
/b 词边界(例如空格或回车符)。 /bb 匹配“book”中的“b”,但在“goober”和“snob”中没有任何匹配项
/B 词边界之外的任何内容。 /Bb 匹配“goober”中的“b”,但在“book”中没有任何匹配项
/d 任何数字字符。等效于 [0-9]。 /d 匹配“C3PO”中的“3”和“apartment 2G”中的“2”
/D 任何非数字字符。等效于 [^0-9]。 /D 匹配“900S”中的“S”和“Q45”中的“Q”
/f 换页符。
/n 换行符。
/r 回车符。
/s 任何单个空白字符,包括空格、制表符、换页符或换行符。 /sbook 匹配“blue book”中的“book”,但在“notebook”中没有任何匹配项
/S 任何单个非空白字符。 /Sbook 匹配“notebook”中的“book”,但在“blue book”中没有任何匹配项
/t 制表符。
/w 任何字母数字字符,包括下划线。等效于 [A-Za-z0-9_]。 b/w* 匹配“the barking dog”中的“barking”以及“the big black dog”中的“big”和“black”
/W 任何非字母数字字符。等效于 [^A-Za-z0-9_]。 /W 匹配“Jake&Mattie”中的“&”和“100%”中的“%”
Control+Enter 或 Shift+Enter (Windows)、 或者 Control+Return 或 Shift+Return 或 Command+ Return (Macintosh) 回车符。确保如果没有使用正则表达式,则在搜索时取消对“忽略空白差别”的选择。请注意,这匹配特定字符,而不是一般意义上的换行符;例如,它不匹配 <br> 标签或 <p> 标签。回车符在“设计”视图中显示为空格而不是换行符。
旧文一篇: 十二月份的别称 新文一篇: 川藏 Flipped

2 Comments

Loading ....
  1. 1

    谢谢你的 (.*?) 非贪婪匹配,基本上无敌,Dreamweaver不能加/U禁止贪婪匹配愁死我了,找到你的文章解决了,Thx….

亲~ 想说点儿什么不?