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

1Jo*_*vs7 17 regex string replace ms-word

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

<i>Some text here</i>
Run Code Online (Sandbox Code Playgroud)

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

这是我用来搜索的内容:

Find: (<i>)(*)(</i>)
Replace: \2
Run Code Online (Sandbox Code Playgroud)

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

当我运行此搜索时,我没有得到任何结果.我检查了"使用通配符".我错过了什么?根据Microsoft的帮助网站,*用于表示任何数量或类型的字符,并且单个字符串应该括在括号中.

hwn*_*wnd 14

要搜索定义为通配符的字符,请\在该字符前放置反斜杠().它*本身匹配任何字符串,因此使用范围量词来匹配(1或更多次)

Find: \<i\>(*{1,})\</i\>
Replace: \1
Run Code Online (Sandbox Code Playgroud)


dee*_*see 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,} 意味着一次或多次

  • 对于其他任何寻找如何在Word中使用正则表达式的人来说,上面的链接很有用,但该页面上没有任何地方是任何类型的综合表.这是表 - 我发现了它.我发帖所以它可能会节省你们一些时间和挫折感,我一直在寻找一个"综合"的正则表达式参考.https://msdn.microsoft.com/en-us/library/cc295435.aspx?f=255&MSPPError=-2147217396 (2认同)
  • 我必须修改我之前的语句,您可以通过匹配上一行的结尾来匹配行的开头。[本页](https://wordmvp.com/FAQs/General/UsingWildcards.htm)有更多细节,但基本上你可以用^13这样的字符串来匹配一些字符(这是段尾标记)。 (2认同)
  • 请记住,如果您不在美国,您可能在 Windows 中设置了不同的**文化**。遗憾的是,Word 会根据 Office 设置更改通配符,因此“一次或多次”将变为“{1;}”(注意分号) (2认同)