python – 正则表达式,选择最接近的匹配

前端之家收集整理的这篇文章主要介绍了python – 正则表达式,选择最接近的匹配前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设以下单词序列
BLA text text text  text text text BLA text text text text LOOK text text text BLA text text BLA

我想要做的是将文本从BLA提取到LOOK,但是最接近外观的BLA.即我想得到

BLA text text text text LOOK

我应该如何使用正则表达式?我有一个有效的解决方案,但效率极低.

BLA(?!.*?BLA.*?LOOK).*?LOOK

是否有更好,更高效的方式来实现匹配这种模式?

我想做的是:我希望与BLA相匹配,然后向前推进,直到用LOOK进行正向前瞻或用BLA进行负向前瞻.但我不知道如何把它变成正则表达式.

作为引擎我在python中使用re.

解决方法

BLA(?:(?!BLA).)*?LOOK

试试这个.看看演示.

https://regex101.com/r/fA6wE2/12

要么

BLA(?:(?!BLA|LOOK).)*?LOOK

为了更安全.

原文链接:https://www.f2er.com/python/241883.html

猜你在找的Python相关文章