我正在尝试搜索方括号内 1 到 99 之间的任何正整数,例如[1]或 [24]。所以基本上每个实例:打开方括号,从 1 到 99 的数字,关闭方括号。或者有时范围/数字对,如[26-29]甚至[30,31]。我必须用普通括号替换方括号的所有实例;例如,[1]将替换为(1), [42]将替换为(42)等。
我看过[1-9]{1,}
并且 [1-9]{1,99}
另外,我必须将I的每个实例都更改为We,因为我写了一篇 30 页的文章,而我的一位同事突然加入进来帮忙,所以......
显然根据this documentation,有以下方法:
- <, >: 定位锚点
但不知何故我无法绕过它。非常感谢任何帮助,因为我必须在今天之前结束它。
注意:Microsoft Word for Mac 版本 15.12.3
进入“查找和替换”,点击“更多>>”,点击“使用通配符”。
(但你已经知道了,对吧?)
要从字面上搜索在通配符(模式匹配)语法中具有特殊含义的字符,请在其前面加上反斜杠 (
\
)。因此,要在文本中搜索(文字)方括号,请使用\[
和\]
。零是有效数字,因此您必须使用
[0-9]
而不是[1-9]
。[0-9]
可能会匹配那些外国字母中的数字。(或者甚至可能是那些外国字母表中的字母和其他符号。) 使用 .可能更安全[0123456789]
。因此,要匹配任何整数(非负整数),请使用
[0-9]{1,}
or[0-9]@
。要匹配 0 到 99 之间的任何整数,请使用
[0-9]{1,2}
.0
。如果 不 匹配0
对您很重要,请说出来。01
,02
,03
...09
)。而且,就此而言,00
。再次说明这是否是一个严重的问题。使用括号 (
(
…)
) 来分隔捕获组或表达式。因此,要简单搜索方括号中的一位或两位数字,请使用
\[[0-9]{1,2}\]
.但是,如果您想执行查找和替换,并替换
[42]
为,则查找并替换为。这有点令人困惑。在“查找内容”字符串中(为清楚起见进行了扩展):(42)
\[([0-9]{1,2})\]
(\1)
括号(突出显示)分隔捕获组。在“替换为”字符串中:
圆括号是您要插入的文字圆括号字符,
\1
表示“获取第一个捕获组匹配的内容(即数字,不带括号),并将其插入此处”。要对数字范围做同样的事情,只需找到
\[[0-9]{1,2}-[0-9]{1,2}\]
(并再次替换为(\1)
. Ditto 以逗号分隔的数字对:\[[0-9]{1,2},[0-9]{1,2}\]
.再举一个 Find and Replace 中括号的例子(希望更清楚),假设你有文本
而你“找到”
和“替换为”
结果是
至于问题的第二部分:将I的每个实例更改为 We,搜索
<I>
并用 替换所有We
。并且,除非您的整个文档都是以标题大写形式编写的,否则请进行第二次搜索,搜索<We>
(标题大写),并在不是句子第一个单词的地方替换为we
(小写)。实际上,搜索
<I>
并将全部替换为we
(小写),然后进行第二次搜索,搜索<we>
(小写),并在句子的第一个单词处替换为We
(标题大写)可能 会更省力。可以按照以下方式使用通配符自动执行此操作和
但我还没有彻底测试过。
解决方案:
我在这个博客中发现了一些非常有用的东西:
\[*\]
这将找到括号和所有包含的文本。括号也一样:
\(*\)