Regex匹配并排除包含单词的匹配



我有以下情况。在日志中有多个哈希值,可以使用以下regex

提取
b[a-fA-Fd]{32}b

在这个例子中,我们有3个哈希值将与前面的正则表达式匹配,但我想排除那些名为'link'和'value'的字段

u'closed_by': {u'link': u'https://test.test.com/api/now/table/sys_user/175f7cc0d7989d87bc43e322c42c8da8', u'value': u'175f7cc0d7989d87bc43e322c42c8da8'}, u'sensor_name': u'175f7cc0d7989d87bc43e322c42c8da8'

我尝试了下面的正则表达式,但没有工作,应该匹配最后一个散列'sensor_name'

(b[a-fA-Fd]{32}b)((.?!'link':sS+'),|(.?!'value':sS+')},)

**注意:这只是原始日志的摘录,匹配应该是任何哈希除了字段'link'和'value'后面的'lin',可以是多个名为'value'的字段

谁能告诉我我做错了什么,拜托?

使用此模式-任何您想要避免的关键字都可以添加到

后面

(?<!link|value)': u'([da-zA-Z]{32})

最新更新