python - 如何使用 python 正则表达式查找匹配的字符串?

标签 python regex

对于字符串"//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/

相关文章:

python - 关于处理大文件的建议 - python 或命令行?

python - 如何在Python中形成打乱的批处理?

python - 用于指定数据库的 Django queryset "using()"方法不适用于 related_name 查询

python - 根据标签位置计算 Pandas DataFrame 的索引

Java 在第三个逗号上分割字符串

python - 如何向 selenium chrome webdriver 添加多个扩展

regex - 删除 Google 表格中 <> 内单元格中的所有内容

c# - 在每个非字母/非数字字符处拆分字符串

c# - 如何在 C# 中编译正则表达式

java - 在Java中使用正则表达式过滤单词