繁体   English   中英

正则表达式在 MS Word 中查找/替换文本不起作用

[英]Regex to find/replace text in MS Word not working

我有一个我写的 python 脚本的输出,它包含从一个大数据集中提取的文本部分,在通过正则表达式匹配一些模式之后。

为了可视化,我想使用 MS Word 在这些文本部分中突出显示此类模式,并且我尝试使用查找/替换与我在脚本中使用的相同正则表达式但没有运气。

示例:我想找到模式work (?:\\w+ )?(?:\\w+ )? children每个出现work (?:\\w+ )?(?:\\w+ )? children work (?:\\w+ )?(?:\\w+ )? children ,即文本中最多允许在workchildren之间work任何两个其他词。

"[...] ability to work with children must be proven. Social Worker Job Essex Our Essex based client require permanent Social Workers to work in children and families teams. You should be a qualified Social Worker DIPSW, CQSW, CSS or equivalent [...]"

使用上述正则表达式对上述文本运行查找/替换不会返回任何匹配项(允许使用通配符)。

我应该使用哪个正则表达式? 任何帮助将不胜感激

在 Word 中,您需要使用两个通配符查找:

查找 = 工作 <[! ]@> 孩子们

对于有一个中间词的情况,和

查找 = 工作 <[! ]@> <[! ]@> 孩子们

对于有两个中间词的情况。

正如其他人已经指出的那样,这在 Microsoft Word 的正则表达式风格中是不可能的。 相反,您应该使用标准的正则表达式。 如果您使用集成到 Microsoft Word 中的称为 Multiple Find & Replace 的特殊工具,实际上可以在 MS Word 中使用标准正则表达式(请参阅http://www.translatortools.net/products/transtoolsplus/word-multiplefindreplace )。 此工具作为文档窗口右侧的窗格打开,其工作方式与“高级查找和替换”对话框类似。 但是,除了 Word 现有的搜索功能外,它还可以使用标准的正则表达式语法来搜索和替换 Word 文档中的任何文本。

在您的特定情况下,您的表达

工作 (?:\\w+ )?(?:\\w+ )?children

会正常工作。

多重查找和替换功能非常强大:您可以将任意数量的表达式(使用正则表达式或使用 Word 的标准搜索语法)添加到列表中,然后在文档中搜索所有这些表达式、替换所有内容、在列表中显示所有匹配项以及仅替换特定的匹配项,以及其他一些内容。

我为翻译人员和编辑人员创建了这个工具,但它非常适合 Word 中的任何高级搜索/替换操作,我相信您会发现它非常有用。

最好的问候,斯坦尼斯拉夫

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM