Skip to main content
 首页 » 编程设计

python之使用正则表达式查找模式后的所有内容但不包括变量

2024年10月25日31softidea

我正在使用以下代码尝试搜索 data-bhc=

之后的文本

但我还想将变量 new_deal 排除在 data-bhc 之后。在这种情况下,new_deal 变量可以是这样的文本:“deal:statler-grill-4”

当我不尝试排除变量时,此正则表达式有效。

例如:

'<figure class=\"deal-card deal-list-tile deal-tile deal-tile-standard\" data-bhc="(.+?)"' 

但当我这样做时,我的语法会强制我的搜索不返回任何结果。什么是愚蠢的错误?

regex = "<figure class=\"deal-card deal-list-tile deal-tile deal-tile-standard\" data-bhc=" + "^(?!" + re.escape(new_deal) + ").*" 
 
pattern = re.compile(regex)  
 
info = re.search(pattern,htmltext) 
print info.groups() 

请您参考如下方法:

我认为您的问题可能与您使用单引号 ' 和双引号 " 的方式有关。如果您知道 html 文本中的所有引号都会是双引号,将您的正则表达式定义为单引号中的字符串。

这可能对你有用:

regex = '<figure class="deal-card deal-list-tile deal-tile deal-tile-standard" data-bhc="(?!'+ new_deal + ').*"'