我正在编辑一个带有大量不必要标记的电子书文档。我在文中有许多部分,代码与此类似:
<i>Some text here</i>
我正在尝试运行正则表达式查找和替换,它将在两个i-tag之间找到任何短语,删除i-tag,并将样式应用于文本。
以下是我用来搜索的内容:
Find: (<i>)(*)(</i>)
Replace: \2
我还选择了样式&gt;我(斜体)。这告诉我们的转换软件将斜体应用于文本。如果我离开i-tag,最终发生的事情是ScribeNet的转换过程将它们转换为十六进制值,以便它们在电子书中显示为文字文本。凌乱。
当我运行此搜索时,我得不到任何结果。我有&#34;使用通配符&#34;检查。我错过了什么?根据微软的帮助网站,*用于表示任何数量或类型的字符,个别字符串应该括在括号中。
答案 0 :(得分:14)
要搜索定义为通配符的字符,请在该字符前添加反斜杠(\
)。 *
本身匹配任何字符串,因此请使用范围量词来匹配(1
或更多次)
Find: \<i\>(*{1,})\</i\>
Replace: \1
答案 1 :(得分:7)
搜索\<i\>(*{1,})\</i\>
并替换为\1
。不要忘记查看Use wildcard
。
这里有一个Word的“正则表达式”参考表:http://office.microsoft.com/en-ca/word-help/find-and-replace-text-by-using-regular-expressions-advanced-HA102350661.aspx
<
和>
是需要转义的特殊字符*
表示任何字符{1,}
表示一次或多次答案 2 :(得分:0)
Microsoft Word有一个名为多重查找和替换的特殊工具(请参见http://www.translatortools.net/products/transtoolsplus/word-multiplefindreplace),该工具可以解决Word的通配符限制。该工具可以使用标准的正则表达式语法来搜索和替换Word文档中的任何文本。例如,要搜索任何HTML标记,只需使用<[^>] +>即可找到打开,关闭和独立的HTML标记。您可以将任意数量的表达式添加到列表中,然后在文档中搜索所有表达式,替换所有内容,查看所有输入搜索表达式的所有匹配项,仅替换选定的匹配项以及其他一些内容。
我为翻译人员和编辑人员创建了它,但是它对于Word中的任何高级搜索/替换操作都非常有用,并且我相信您会发现它非常有用。
斯坦尼斯拉夫