如何解决删除所有内容,每行除一个单词外
我正在尝试找到一种正则表达式解决方案,以保留

并删除其他内容而不会破坏行顺序。只有某些行包含此模式一次或多次。我尝试了(?<=
)(.+)|(.+)(?=
)|^((?!
).)*$
,但尽管其中包含更多行,但每行仅保留一个行。例如,我有这样的东西:
The client requires photos of a radioactive world
Reach the target planet.
The client requires photos.

Reach the target planet.
The client requires photos of a desert world
Reach the target planet.
The client requires photos of an airless world. Reach the target planet.
The client requires photos of a strange world

Reach the target planet
Make a quick scan.
正是如此:











如果您有帮助,我会很高兴。
解决方法
您可以使用以下RegEx匹配除

以外的所有内容
[^
\n]+
,
您可以使用捕获组。
(.*?)((?:
){0,})
详细信息:
-
(.*?)
:Group1-尽可能少匹配任何字符 -
((?:
){0,})
:第2组-是否匹配

您可以使用SKIP FAIL来匹配

,然后再不使用匹配项。
然后匹配除&以外的所有字符,当它遇到&时,断言它没有直接跟在#xA;
查找内容

(*SKIP)(*FAIL)|[^&\r\n]+(?:&(?!#xA;)[^&\r\n]*)*
替换为:
留空
说明
-
#xA;
字面上匹配 -
(*SKIP)(*FAIL)|
消耗要避免的字符 -
[^&\r\n]+
匹配除&
或换行符以外的任意字符1倍以上 -
(?:
非捕获组-
&(?!#xA;)
匹配&,如果不紧跟#xA;
-
[^&\r\n]*
匹配除char或换行符以外的任意字符0+次
-
-
)*
关闭非捕获组并重复0次以上
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。