我有一个我编写的python脚本的输出,它包含从大数据集中提取的文本部分,在通过正则表达式匹配某些模式之后。
为了可视化,我想使用MS Word在文本的这些部分中突出显示这些模式,并且我尝试使用我在脚本中使用的相同正则表达式查找/替换但没有运气。
实施例:
我希望找到模式work (?:\w+ )?(?:\w+ )? children
的每次出现,即在文本中最多允许work
和children
之间的任何两个单词
"[...] 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 [...]"
使用上述正则表达式运行查找/替换上述文本不会返回任何匹配项(允许使用通配符)。
我应该使用哪种正则表达式?任何帮助将不胜感激
答案 0 :(得分:0)
在Word中,您需要使用两个通配符查找:
Find = work< [! ] @>儿童
对于有一个干预词的案例,
Find = work< [! ] @>百分比抑制率! ] @>儿童
对于有两个干预词的案例。
答案 1 :(得分:0)
正如其他人已经指出的那样,这在Microsoft Word的正则表达式中是不可能的。 相反,您应该使用标准的正则表达式。如果您使用集成到Microsoft Word中的称为多重查找和替换的特殊工具,则实际上可以在MS Word中使用标准正则表达式(请参阅http://www.translatortools.net/products/transtoolsplus/word-multiplefindreplace)。该工具在文档窗口右侧以窗格形式打开,其工作方式类似于“高级查找和替换”对话框。但是,除了Word现有的搜索功能外,它还可以使用标准的正则表达式语法来搜索和替换Word文档中的任何文本。
在您的情况下,您的表情
工作(?:\ w +)?(?:\ w +)?孩子
可以正常工作。
多重查找和替换功能非常强大:您可以将任意数量的表达式(使用正则表达式或使用Word的标准搜索语法)添加到列表中,然后在文档中搜索所有表达式,替换所有内容,并显示所有匹配项列表,仅替换特定的匹配项,以及其他一些内容。
我为翻译和编辑创建了此工具,但是它对于Word中的任何高级搜索/替换操作都非常有用,并且我相信您会发现它非常有用。
最诚挚的问候,斯坦尼斯拉夫