假设以下单词顺序
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。
(?s)BLA(?:(?!BLA).)*?LOOK
尝试这个。参见演示。
或者,使用
BLA(?:(?!BLA|LOOK)[\s\S])*LOOK
为了更安全。