【軟體操作小撇步 –Dreamweaver CS4規則運算式介紹】

在Dreamweaver CS4程式碼的搜尋中,提供了一項很便利的功能「規則運算式」,可以讓我們更方便精確的搜尋取代我們的目標。

一、 如下圖中的程式碼,如我們現在想要將程式碼內,z-index的屬性及值一次清除。
01.jpg
二、 在上圖中我們可得知z-index的值有1~2位數,故我們在「尋找和取代」窗格中的尋找內,鍵入「(z-index: )(\d+)」。
02.jpg
三、 按下「全部取代」鈕後,則程式碼中的z-index屬性及值都被清除了。
03.jpg
四、 在「搜尋」面板中,則會顯示本次搜尋取代的結果。
04.jpg

「規則運算式」說明
規則運算式是描述文字中字元組合的模式。 請在程式碼搜尋中善加運用,以協助描述一些像是「以 "var" 字開頭的行」和「含有數字的屬性值」之類的概念。
下表列出規則運算式中的一些特殊字元、它們的意義以及使用方法的範例。 若要搜尋含有表格所列特殊字元之一的文字,請在特殊字元前面加上反斜線,將它表示為「逸出字元」。 例如,假設要在片語 some conditions apply* 中搜尋實際的星號,搜尋模式應該像是這樣:apply\*。 如果您不將星號表示為逸出字元,您就會找到所有「apply」(以及任何「appl」、「applyy」和「applyyy」) 出現的地方,而不是只找到後面接著星號的「apply」。

字元

符合

範例

^

輸入或行的開頭。

^T 會找出「This good earth」中符合的「T」,但是在「Uncle Tom’s Cabin」中則找不到符合的項目

$

輸入或行的結尾。

h$ 會找出「teach」中符合的「h」,但是在「teacher」中則找不到符合的項目

*

前面的字元出現 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

任何單一的空白字元,包括空格、Tab 字元、換頁字元或換行符號。

\sbook 會在「blue book」中找到符合的「book」,但是在「notebook」中則找不到任何符合的項目

\S

任何單一的非空白字元。

\Sbook 會在「notebook」中找到符合的「book」,但是在「blue book」中則找不到任何符合的項目

\t

Tab 字元。

 

\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)

Return 字元。 進行這種搜尋時,如果不使用規則運算式,請取消選取「忽略空白差異」選項。 請注意,這樣會符合特定的字元,而不是一般的斷行符號;例如,它不符合 <br> 標籤或 <p> 標籤。 Return 字元在「設計」檢視中會顯示為空白,而不是斷行。

 

請使用小括號,將規則運算式中稍後要參考的群組分開。 接著,再於「取代為」欄位中使用 $1、$2、$3 等等,來參考第一個、第二個、第三個等等要放在小括號內的群組。
備註: 在「尋找」方塊中,若要參考之前在規則運算式中放在小括號內的群組,請使用 \1、\2、\3 等等,而不是 $1、$2、$3。

例如,搜尋 (\d+)\/(\d+)\/(\d+) 並且將它取代為 $2/$1/$3 時,會在以反斜線分隔的日期中,將日和月對調,藉以在美式日期與歐式日期間轉換。

版權所有,未經確認授權,嚴禁轉貼節錄
財團法人中華民國電腦技能基金會
TEL:02-2577-8806•FAX:02-2577-8135
服務信箱:[email protected]