我拥有的:[any-word] &
我想要的是:[any-word], &
(注意“&”后面的逗号)
问题
使用 Word,我可以使用以下表达式找到我所拥有的内容:
([a-z]>)( {1,})(&)
什么是表达“得到我想要的;即插入逗号而不是更改文本”?
如果无法使用 Word 做到这一点,那么我该用什么呢?
答案1
在搜索字符串中,您使用圆括号(
)
标记三个表达式:
([a-z]>)( {1,})(&)
在替换字符串中,与每个字符匹配的字符可以通过 来识别\n
,其中n
是表达式编号。
因此你的替换字符串变为:
\1,\2\3
实际上没有必要单独标记空格和&符号,因此替换更简单:
([a-z]>)( {1,}&)
和:
\1,\2
答案2
@AFH 的解决方案非常准确。我将此作为他答案的扩展发布,以确保我理解如何解释这些表达式。我没有编辑我的原始帖子,因为我的后续问题需要结合 @AFH 的答案来看。
我的理解和困惑
在里面寻找表达式的开始和结束括号表示搜索单元,或带有默示显示序列的数字:
([a-z]>)( {1,}&)
Group 1 Group 2
意思是查找:
- 在第 1 组中,找出以小写字母 az 结尾的任何单词。
- 在第 2 组中,找到一个空格和一个“&”符号。
在里面代替表达式中,斜线表示对每个组要执行的操作:
\1,\2
- 按“原样”替换第 1 组,并在字母后立即插入逗号。
- 按原样替换第 2 组(不做任何更改)
所以......我理解替换表达式中的逗号,但查找表达式 { 1,} 中的逗号的用途对我来说并不不言而喻。
笔记
- 对于阅读这篇文章的任何人来说,如果其刚接触(或不熟悉)“单词查找/替换”,则必须启用通配符。
- 通过理解这种表达方式,我希望能够复制其他简单标点符号问题的解决方案。