对于字符串"//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'"]
关于python - 如何使用 python 正则表达式查找匹配的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43971078/