我正在使用以下代码尝试搜索 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 + ').*"'
