条件lookbehind(python regex),如何排除某些单词但包含某些单词?

2024-05-05 21:07:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我在创建python regex字符串以仅检索有效位置时遇到问题。你知道吗

以下面4行的段落为例:

Enjoy up to 70% off at New York branches.

Enjoy up to 70% off in Canada.

Not valid at London branches.

Not valid in Germany.

我只想得到“纽约分行”和“加拿大分行”的文本,而不想得到“伦敦分行”和“德国分行”。你知道吗

这是可行的,但它有所有的位置: ((?<=at ).*(?=\.))|((?<=in ).*(?=\.))

但为什么这不起作用: ((?<!not )((?<=at ).*(?=\.))|((?<!not )((?<=in ).*(?=\.))

具体来说:我要所有文字后的字'在'或'在',并在一个句号。但是,我不希望他们如果有一个'无效'的字体。你知道吗


Tags: to字符串innewnotatregex段落