对于字符串"//div[@id~'objectnavigator-card-list']//li[@class~'outbound-alert-settings']",我想找到"@..'...'" 类似于 "@id~'objectnavigator-card-list'" 或 "@class~'outbound-alert-settings '"。但是当我使用正则表达式 ((@.+)\~(\'.*?\')) 时,它会找到 "@id~'objectnavigator-card-list']//li[@class~'outbound-alert-settings'".那么如何修改正则表达式才能成功找到字符串呢?
请您参考如下方法:
在内部括号上使用非捕获、非贪婪修饰符并搜索非终止字符,例如:
re.findall(r"((?:@[^\~]+)\~(?:\'[^\]]*?\'))", test)
在您的测试字符串返回:
["@id~'objectnavigator-card-list'", "@class~'outbound-alert-settings'"]
