在Microsoft Word 2013中查找并替换正则表达式

时间:2014-06-19 14:03:25

标签: regex string replace ms-word

我正在编辑一个带有大量不必要标记的电子书文档。我在文中有许多部分,代码与此类似:

<i>Some text here</i>

我正在尝试运行正则表达式查找和替换,它将在两个i-tag之间找到任何短语,删除i-tag,并将样式应用于文本。

以下是我用来搜索的内容:

Find: (<i>)(*)(</i>)
Replace: \2

我还选择了样式&gt;我(斜体)。这告诉我们的转换软件将斜体应用于文本。如果我离开i-tag,最终发生的事情是ScribeNet的转换过程将它们转换为十六进制值,以便它们在电子书中显示为文字文本。凌乱。

当我运行此搜索时,我得不到任何结果。我有&#34;使用通配符&#34;检查。我错过了什么?根据微软的帮助网站,*用于表示任何数量或类型的字符,个别字符串应该括在括号中。

3 个答案:

答案 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中的任何高级搜索/替换操作都非常有用,并且我相信您会发现它非常有用。

斯坦尼斯拉夫