1.打開“查找和替換”對話框
2.在“查找范圍”選項中選擇“文件夾”,然后選擇要進行批量替換的文件夾(當(dāng)然,也可以選擇“當(dāng)前文檔”)
3.在“查找”中加入: ([A-z]*)
4.在“替換”中加入:$1
5.在“選項”中選擇“使用正則表達式”(請注意,一定要選擇這個哦)
6.單擊“全部替換”就行了。
分析:
整個過程中,最重要是第三和第四步。在第三步中,用到了正則 ([a-z]*)。這是什么意思呢?根據(jù)正則語法:
(pattern)--匹配pattern 并獲取這一匹配。所獲取的匹配可以從產(chǎn)生的 Matches 集合得到,在VBScript 中使用 SubMatches 集合,在JScript 中則使用 $0…$9 屬性。注意,在Dreamweaver中是從$1開始的。
[xyz] -- 匹配所包含的任意一個字符。[A-z]就表示匹配任意大小寫英文字符。
* -- 匹配前面的子表達式零次或多次,在本例中就是匹配[a-z]零次或多次。
整個表達式([A-z]*)就表示:匹配任意多個連續(xù)的大小寫英文字符,并且所產(chǎn)生的區(qū)配可以從Matches中得到。
由上面的解釋,很容易就能知道,第四步中的$1代表的是Matches集合中的第一個匹配。在本例中也就是任意多個連續(xù)的英文字符。至于詳細的正則表達式語法,可以到網(wǎng)上查找,或許下個 JavaScript.chm里面也能找到,我在這里就不展開了。
另外,說來也搞笑,剛學(xué)正則的時候,總是不知道怎樣匹配任意文本。后來經(jīng)過一番研讀,終于給匹配出來了,其實說來也很簡單,不就是任意非空白字符和空白字符的組合嘛:([\s\S]*)
還有要提醒一下大家的是,如果要進行上面的那種標(biāo)簽形式,Dreamweaver還提供了另外一種更為直觀的方法,具體我也不多話,在“查找和替換”的“搜索選項中選擇“指定標(biāo)簽”就會看到。
總結(jié):Dreamweaver提供了非常強大的查找與替換功能。靈活的運用它提供的各種方法,將會給工作帶來更多的便利。
例:
網(wǎng)頁1:<TITLE>教學(xué)網(wǎng)</TITLE><h1>珍視學(xué)生的自主閱讀</h1>網(wǎng)頁2: <TITLE>教學(xué)網(wǎng)</TITLE><h1>做一個熱愛讀書的學(xué)生</h1> 如上,我有一組靜態(tài)網(wǎng)頁,TITLE標(biāo)簽內(nèi)全部相同,想用h1標(biāo)簽中的標(biāo)題文本,批量替換TITLE標(biāo)簽中的標(biāo)題文本。請問,如何用DW正則表達式批量操作!
查找
<TITLE>.*?</TITLE>([\s\S]*?)<h2>(.*?)<\/h2>
替換為
<TITLE>$2</TITLE>$1<h2>$1</h2>
記得勾選上 使用正則表達式
用好了Dreamweaver的正則表達式查找替換功能,可以大大的加快我們的工作效率!
original search replace result
原字符:abc
查找正則:(ab)(c)
替換正則:$1-$2
結(jié)果:ab-c
例子2: 里面包含了括號 單引號等
查找:
href="javascript:if\(confirm\('(.*?) '\)\)window\.location='(.*?)'"替換: $1
前一段時間網(wǎng)站改版,需要更改原文的一些規(guī)律性的東西,找了很久,收集了幾條關(guān)于DW中用正則表達式查找替換的資料,特分享如下:
在Dreamweaver中打開一個或多個網(wǎng)頁,在源代碼中點擊“編輯”>“查找和替換”,點擊勾選“正則表達式”選項:
1.找到或替換網(wǎng)頁的tppabs="..."代碼。
在“查找”欄填入tppabs="[^"]*",就可以找到或替換網(wǎng)頁的tppabs="..."代碼。
2.找到或替換網(wǎng)頁表格的高度代碼。
在“查找”欄填入 height="\d+",就可以找到或替換網(wǎng)頁表格的高度代碼。
3.找到或替換網(wǎng)頁背景色代碼。
在“查找”欄填入 bgcolor="[^"]*",就可以找到或替換網(wǎng)頁背景色代碼。
4.找到或替換網(wǎng)頁的JS代碼。
在“查找”欄填入<script (.|\s|\n)*?</script>,就可以找到或替換網(wǎng)頁的JS代碼。
5.找到或替換網(wǎng)頁的式樣表代碼。
在“查找”欄填入<style type="text/css">(.|\\s|\\n)*?</style>,就可以找到或替換網(wǎng)頁的式樣表代碼。
6.找到或替換網(wǎng)頁中各種類型的表格代碼。
在“查找”欄填入<table border="0" cellspacing="0" width="778" height="51">(.|\s|\n)*?</table>,就可以找到或替換網(wǎng)頁中該類型的表格代碼。
7、今天看到播布客上幾個視頻比較好,于是準(zhǔn)備下載~但是太懶,不想一個一個的下,就運用一下Dreamweaver正則表達式替換。
播布客視頻的地址有一定的規(guī)律,如 http://www.baidu.com/v/bbk1234?0?2 這個是在線觀看的地址,下載地址是 http://www.baidu.com/v/bbk1234.zip
先將網(wǎng)頁上的所有視頻地址復(fù)制到Dreamweaver,再打“開查找替換”功能。
查找: ?0?2http://www.baidu.com/v/bbk(\d)?0?2?0?2 替換:http://www.baidu.com/v/bbk$1.zip
這樣就完成了替換工作~很簡單
常用的通配符(正則表達式)
1..匹配除換行符以外的任意字符。
2.\w匹配字母或數(shù)字或下劃線或漢字。
3.\d匹配數(shù)字。
4.\s匹配任意的空白符。
5.\b匹配單詞的開始或結(jié)束。
6.^匹配字符串的開始。
7.$匹配字符串的結(jié)束。
8.*匹配重復(fù)零次或更多次。
9.+匹配重復(fù)一次或更多次。
10.?匹配重復(fù)零次或一次。
11.{n}匹配重復(fù)n次。
12.{n,}匹配重復(fù)n次或更多次。
13.{n,m}匹配重復(fù)n到m次。
14.\W匹配任意不是字母,數(shù)字,下劃線,漢字的字符。
15.\S匹配任意不是空白符的字符。
16.\D匹配任意非數(shù)字的字符。
17.\B匹配不是單詞開頭或結(jié)束的位置。
18.[^x]匹配除了x以外的任意字符。
19.[^aeiou]匹配除了aeiou這幾個字母以外的任意字符。
Dreamweaver替換正則表達式表 下表列出了在正則表達式中使用的特殊字符、其含義和用法示例。若要搜索包含該表中某一特殊字符的文本,請在特殊字符前面附加一個反斜杠,令其“轉(zhuǎn)義 ”。例如,若要在 some conditions apply* 短語中搜索實際的星號,您的搜索模式應(yīng)類似于:apply\*。如果您沒有令星號轉(zhuǎn)義,您將找到“apply”的所有匹配項(以及“appl”、 “applyy”和“applyyy”的所有匹配項),而不只是后面跟有星號的那些匹配項。
字符 | 匹配 | 示例 |
---|
^ | 輸入或行的起始部分。 | ^T 匹配“This good earth”中的“T”,但不匹配“Uncle Tom’s Cabin”中的“T”。 |
$ | 輸入或行的結(jié)尾部分。 | h$ 匹配“teach”中的“h”,但是不匹配“teacher”中的“h” |
* | 0 個或多個前置字符。 | um* 匹配“rum”中的“um”、“yummy”中的“umm”以及“huge”中的“u” |
+ | 1 個或多個前置字符。 | um+ 匹配“rum”中的“um”和“yummy”中的“umm”,但在“huge”中沒有任何匹配項 |
| 前置字符最多出現(xiàn)一次(即,指示前置字符是可選的)。 | 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} 匹配“l(fā)oom”中的“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 | 詞邊界之外的任何內(nèi)容。 | /Bb 匹配“goober”中的“b”,但在“book”中沒有任何匹配項 |
/d | 任何數(shù)字字符。等效于 [0-9]。 | /d 匹配“C3PO”中的“3”和“apartment 2G”中的“2” |
/D | 任何非數(shù)字字符。等效于 [^0-9]。 | /D 匹配“900S”中的“S”和“Q45”中的“Q” |
/f | 換頁符。 | |
/n | 換行符。 | |
/r | 回車符。 | |
/s | 任何單個空白字符,包括空格、制表符、換頁符或換行符。 | /sbook 匹配“blue book”中的“book”,但在“notebook”中沒有任何匹配項 |
/S | 任何單個非空白字符。 | /Sbook 匹配“notebook”中的“book”,但在“blue book”中沒有任何匹配項 |
/t | 制表符。 | |
/w | 任何字母數(shù)字字符,包括下劃線。等效于 [A-Za-z0-9_]。 | b/w* 匹配“the barking dog”中的“barking”以及“the big black dog”中的“big”和“black” |
/W | 任何非字母數(shù)字字符。等效于 [^A-Za-z0-9_]。 | /W 匹配“Jake&Mattie”中的“&”和“100%”中的“%” |
Control+Enter 或 Shift+Enter (Windows)、 或者 Control+Return 或 Shift+Return 或 Command+ Return (Macintosh) | 回車符。確保如果沒有使用正則表達式,則在搜索時取消對“忽略空白差別”的選擇。請注意,這匹配特定字符,而不是一般意義上的換行符;例如,它不匹配 <br> 標(biāo)簽或 <p> 標(biāo)簽?;剀嚪凇霸O(shè)計”視圖中顯示為空格而不是換行符。 | |
使用括號在正則表達式內(nèi)分隔出以后要引用的分組。然后在“替換”域中使用 $1、$2、$3 等來引用第一個、第二個、第三個和更后面的括號分組。 注意:在“查找內(nèi)容”文本框中使用 /1、/2、/3 等(而不是 $1、$2、$3)來引用正則表達式中更早的括號分組。 例如,通過搜索 (/d+)//(/d+)//(/d+) 并用 $2/$1/$3 替換它,可以在由斜杠分隔的日期中交換日和月(因此可以在美國樣式日期和歐洲樣式日期之間進行轉(zhuǎn)換)。