使用 findText 指令來尋找和選擇性地取代文件中的文字。
findText 指令的參數分為兩組:
findText [ up | checkStart | replace | all | quiet | noBeep ] [...] [ [ mark | columns col1 col2 | block | wholeWord | noWrap | asis | noEmphasis | regularExpression | replaceWith replaceText ] [...] text ]
up | 使用選用參數 up 來指出搜尋應該從現行位置向後進行。 |
checkStart | 使用選用參數 checkStart 來指出應該檢查現行游標位置之後才能繼續搜尋。 |
replace | 使用選用參數 replace 來指出所找到的文字必須取代成 findText.replaceText 參數所指示的文字。 |
all | 使用選用參數 all 來指出必須尋找所有探查文字的出現項目。搜尋將忽略現行游標位置,但會遵守 block 和 columns 限制。 |
quiet | 使用選用參數 quiet 來指出不應發出訊息或音效回應。 |
noBeep | 使用選用參數 noBeep 來指出不應發出音效回應。 |
mark | 使用選用參數 mark 來指出應選取找到的文字。 |
columns col1 col2 | 使用選用參數 columns 將搜尋範圍限制為指定的開始欄和結束欄。 col1 和 col2 必須是正整數。 |
block | 使用選用參數 block 將搜尋範圍限制為現行選取的區塊。 |
wholeWord | 使用選用參數 wholeWord 將搜尋限制為完整單字。單字包括字母、數字或底線。 |
noWrap | 使用選用參數 noWrap 來指出當搜尋到達文件底端時,必須停止搜尋。 或是,在向後搜尋文件的狀況下,noWrap 參數會指示當搜尋到達文件頂端時,必須停止搜尋。 |
asis | 使用選用參數 asis 來指出搜尋時應該區分大小寫。 |
noEmphasis | 使用選用參數 noEmphasis 來指出不要使用文件視圖的強調樣式來強調找到的文字。 |
regularExpression | 使用選用參數 regularExpression 來指出應該將搜尋字串視為正規表示式型樣。 |
replaceWith replaceText | 使用選用參數 replaceWith 來指出應該以 replaceText 取代找到的文字。 如果 replaceText 包含空格,則其字首必須是引號 (")。如果 replaceText 包含引號, 則必須在引號前加上反斜線 (\")。如果 replaceText 包含反斜線, 則必須在該反斜線前加上一條反斜線 (\\)。 |
text | 使用 text 參數來指出您要搜尋的文字。 如果您要搜尋其中一個 findText 關鍵字,則必須括住字串。 |
status 參數可設定為下列其中一項:
null 指出 findText 指令在沒有使用任何特殊條件下,已順利找到指定的文字。 findText.onlyOccurrence 指出 findText 指令已搜尋完畢整份文件,而且在原始游標位置折返尋找指定的文字。 findText.wrapped 指示 findText 指令已順利找到指定的文字,但在搜尋期間,必須折返到文件開頭。 如果是向後搜尋,在搜尋期間,必須折返到文件結尾。 findText.notFound 指出找不到指定的文字。 findText.invalidPattern 指出所指定的文字不是有效的正規表示式型樣。 只有在您已指出所指定文字是正規表示式型樣時,才能設定這個狀態。
findText 指令使用下列參數:
- findText.asis
- findText.block
- findText.columns
- findText.emphasis
- findText.endColumn
- findText.findText
- findText.mark
- findText.regularExpression
- findText.replaceText
- findText.startColumn
- findText.wholeWord
- findText.wrap.
除非已指定 all 參數,否則 findText 指令只會影響可見的元素。
您可以利用正規表示式來尋找符合您指定之型樣的文字。 編輯器中的正規表示式支援採用 Java 語言所提供的支援。 不過,請注意,findText 指令只能逐行執行。
以下是少數常用的正規表示式型樣:
c 如果 c 不是特殊字元,便符合這個字元的單一實例。 \c 符合在其他情況下會解譯成特殊字元的 c 字元單一實例。 比方說,\\ 表示式符合單一反斜線,\[ 表示式符合左方括弧。 \t 欄標字元 ('\u0009')。 \xhh 含十六進位值 0xhh 的字元。 每個 h 都代表一個十六進位數字。 \uhhhh 含十六進位值 0xhhhh 的字元。 每個 h 都代表一個十六進位數字。 . 符合任何單一字元。 [abc] 符合 abc 所包括的任何單一字元。 [^abc] 符合任何單一字元,但 abc 所包括者除外。 [a-z] 符合 a 到 z 範圍內的任何單一字元。 [^a-z] 符合任何單一字元,但 a 到 z 範圍所包括者除外。 [a-zA-Z] 符合 a 到 z 範圍或 A 到 Z 範圍內的任何單一字元。 \d 一個數字。這相當於 [0-9]。 \D 一個非數字。這相當於 [^0-9]。 \s 一個空白字元。 這相當於 [ \t\x0A\x0B\x0C\x0D]。 \S 一個非空白字元。 這相當於 [^\s]。 \w 一個單字字元(字母和數字)。 這相當於 [a-zA-Z0-9_]。 \W 一個非單字字元。 這相當於 [^\w]。 ^ 符合一行的開頭。 ^ 必須是表示式中的第一個字元。 $ 符合一行的結尾。 $ 必須是表示式中的最後一個字元。 \b 符合單字界限。 \B 符合非單字界限。 X? 符合 X 表示式的零或一次出現。 會找到可能符合的最長者(Greedy 相符)。 X* 符合 X 表示式的零或多次連續出現。 會找到可能符合的最長者(Greedy 相符)。 X+ 符合 X 表示式的一或多次連續出現。 會找到可能符合的最長者(Greedy 相符)。 X{n} 符合 X 表示式的正好 n 次連續出現。 會找到可能符合的最長者(Greedy 相符)。 X{n,} 符合 X 表示式的至少 n 次連續出現。 會找到可能符合的最長者(Greedy 相符)。 X{n,m} 符合 X 表示式的至少 n 次、但不超出 m 次連續出現。 會找到可能符合的最長者(Greedy 相符)。 X?? 符合 X 表示式的零或一次出現。 會找到最短的符合者(非 Greedy 相符)。 X*? 符合 X 表示式的零或多次連續出現。 會找到最短的符合者(非 Greedy 相符)。 X+? 符合 X 表示式的一或多次連續出現。 會找到最短的符合者(非 Greedy 相符)。 X{n}? 符合 X 表示式的正好 n 次連續出現。 會找到最短的符合者(非 Greedy 相符)。 X{n,}? 符合 X 表示式的至少 n 次連續出現。 會找到最短的符合者(非 Greedy 相符)。 X{n,m}? 符合 X 表示式的至少 n 次、但不超出 m 次連續出現。 會找到最短的符合者(非 Greedy 相符)。 XY 符合後面接著 Y 表示式的 X 表示式。 X|Y 符合 X 或 Y 表示式。
findText "text" findText replaceWith "new text" "text" findText up findText regularExpression "this|that"
emphasisLength 參數
expandHide 參數
expanded 參數
findText.asis 參數
findText.block 參數
findText.columns 參數
findText.emphasis 參數
findText.endColumn 參數
findText.findText 參數
findText.mark 參數
findText.regularExpression 參數
findText.replaceText 參數
findText.startColumn 參數
findText.wholeWord 參數
findText.wrap 參數
topExpanded 參數
visible 參數
filterSelection 動作
find 動作
findAndReplace 動作
findAndReplaceNext 動作
findAndReplaceUp 動作
findNext 動作
findSelection 動作
findUp 動作
預設編輯器指令
Java 正規表示式型樣
Copyright IBM Corporation 1992, 2004. All Rights Reserved.