正则表达式以在单词中找到段落的开始



我正在使用Word 2016,我需要删除一些以已知单词开始或结尾的段落。例如,在以下文本中:

lorem ipsum dolor sit amet,consecterur adipiscingelit.¶= p>

do do eiusmod临时裂缝et dolore et dolore magna aliqua,¶

ut enm ad ad Minim veniam,quis nostrud练习ullamco labiris nisi ut alquip exea.¶= p>

lorem ipsum dolor sit amet,consecterur adipiscing elit。UT ENM广告最小静脉,...¶

段落以给定的单词/字符串从预期工作开始(删除第一和第四段):

找到什么:"Lorem ipsum dolor *^13" |补充:"" |通配符:On

以给定单词/字符串结尾的段落不起作用(删除第二段)。尝试:

  • "^13* magna aliqua,^13" ^10 = cr-删除左侧的所有内容,包括以前的段落
  • "^10*magna aliqua,^13" ^10 = lf-无更改>

我还尝试了此网站上的一些有趣的示例http://word.mvps.org/.../ususionwidcards.htm,但找不到解决方案。

有什么方法可以使用VBA?

"^13* magna aliqua,^13" ^10 = cr-删除左侧的所有内容,包括以前的段落

这是可以理解的,因为*匹配包括CR在内的任何字符,因此匹配的部分从第一个发现的Cr延伸到以magna aliqua,结尾的第一个发现的Cr。

为了不匹配其他段落的结尾,我们必须更多地使用*以外的其他内容:

[!^13]@ magna aliqua,^13

[!^13]的意思是"除Cr以外的任何字符",@表示"此或多个出现"

删除以'lorem'开头的所有段落,按照您的示例,您可以使用 widdcard find/deppice,where:

Find = ^13Lorem[!^13]{1,}
Replace = nothing

删除以" magna aliqua"结尾的所有段落,按照您的示例,您可以使用 wildcard find/replace/repent/更换,在哪里:

Find = [!^13]@magna aliqua,^13
Replace = nothing

您不能真正将这些组合到单个查找/替换为either的单个发现 - 只有一个可以找到的一个。

相关内容

  • 没有找到相关文章

最新更新