使用 findText 命令来查找并(可选地)替换文档中的文本。
findText 命令的参数被分为两组:
findText [ up | checkStart | replace | all | quiet | noBeep ] [...] [ [ mark | columns col1 col2 | { block | selection } | 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 | selection | 使用可选参数 block 或 selection 来将搜索作用域限制为当前块选择。 |
wholeWord | 使用可选参数 wholeWord 来将搜索限制为整词匹配。词由字母、数字和下划线组成。 |
noWrap | 使用可选参数 noWrap 来指示当搜索到达文档底部时应停止。或者,如果是向后搜索文档,则 noWrap 参数指示当搜索到达文档顶部时应停止。 |
asis | 使用可选参数 asis 来指示搜索应该区分大小写。 |
noEmphasis | 使用可选参数 noEmphasis 来指示不使用文档视图的强调样式来对找到的文本进行强调。 |
regularExpression | 使用可选参数 regularExpression 来指示应将搜索字符串视为正则表达式模式。 |
replaceWith replaceText | 使用可选参数 replaceWith 来指示应使用 replaceText 替换所找到的文本。如果 replaceText 包含空格,则必须在它前面加上引号(")作前缀。如果 replaceText 包含引号,则必须在引号前面加上反斜杠(\")作前缀。如果 replaceText 包含反斜杠,则必须在反斜杠前面加上反斜杠(\\)作前缀。 |
text | 使用 text 参数来指示您希望搜索的文本。如果搜索的是其中一个 findText 关键字,则可能需要将该字符串用引号括起来。 |
status 参数将被设置为下列其中一项:
null 成功地找到了指定的文本,没有任何特殊情况。 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 的零个或一个出现。将找到可能的最长匹配(贪婪匹配)。 X* 匹配表达式 X 的零个或多个连续出现。将找到可能的最长匹配(贪婪匹配)。 X+ 匹配表达式 X 的一个或多个连续出现。将找到可能的最长匹配(贪婪匹配)。 X{n} 刚好匹配表达式 X 的 n 个连续出现。将找到可能的最长匹配(贪婪匹配)。 X{n,} 至少匹配表达式 X 的 n 个连续出现。将找到可能的最长匹配(贪婪匹配)。 X{n,m} 至少匹配表达式 X 的 n 个连续出现但不超过 m 个连续出现。将找到可能的最长匹配(贪婪匹配)。 X?? 匹配表达式 X 的零个或一个出现。将找到最短匹配(非贪婪匹配)。 X*? 匹配表达式 X 的零个或多个连续出现。将找到最短匹配(非贪婪匹配)。 X+? 匹配表达式 X 的一个或多个连续出现。将找到最短匹配(非贪婪匹配)。 X{n}? 刚好匹配表达式 X 的 n 个连续出现。将找到最短匹配(非贪婪匹配)。 X{n,}? 最少匹配表达式 X 的 n 个连续出现。将找到最短匹配(非贪婪匹配)。 X{n,m}? 至少匹配表达式 X 的 n 个连续出现但不超过 m 个连续出现。将找到最短匹配(非贪婪匹配)。 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.incremental 参数
findText.mark 参数
findText.regularExpression 参数
findText.replaceText 参数
findText.startColumn 参数
findText.wholeWord 参数
findText.wrap 参数
status 参数
topExpanded 参数
visible 参数
excludeSelection 操作
filterSelection 操作
find 操作
findAndReplace 操作
findAndReplaceNext 操作
findAndReplaceUp 操作
findNext 操作
findSelection 操作
findUp 操作
Java 正则表达式模式
Copyright IBM Corporation 1992, 2006. All Rights Reserved.