使用正则表达式将字符串中的子字符串与转义引号匹配

莫汉

我有这样的字符串,

filter = "emails.type==\"work\""

我写的正则表达式将不同的东西分组,

matchobj = re.search(r"(\w+)(\.)?(\w+)?(==|!=|(like|LIKE))(.*[^\\])", filter)

测试,

print("group1 ", matchobj.group(1))
    print("group2 ", matchobj.group(2))
    print("group3 ", matchobj.group(3))
    print("group4 ", matchobj.group(4))
    print("group5 ", matchobj.group(5))

结果,

group1  emails
group2  .
group3  type
group4  ==
group5  None

问题在于第 5 组,它返回None并且第 5 组的预期值是带引号的“工作”

亚历克西斯

您必须删除周围的括号,like|LIKE因为它会创建另一个捕获组。所以你有 6 个组而不是 5 个。

(\w+)(\.)?(\w+)?(==|!=|like|LIKE)(.*[^\\])

尝试一下

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用正则表达式将字符串中的子字符串与转义引号匹配

Java正则表达式,用于将带引号的字符串与转义的引号匹配

如何使用正则表达式匹配单引号或双引号中的字符串

正则表达式,用于将字符串与子字符串匹配

正则表达式,用于将Python多行字符串与转义字符进行匹配

如何避免使用正则表达式将字符串括在双引号中?

使用正则表达式将引号中的字符串转换为单个短语

Javascript正则表达式:计算字符串中未转义的引号

正则表达式不匹配字符串中的双引号(仅单引号)

Haskell,正则表达式,TDFA:匹配(并删除)带引号的子字符串

引号中字符串子串的正则表达式

使用正则表达式从复杂字符串中查找子字符串

使用正则表达式搜索字符串中的子字符串

使用正则表达式组替换字符串中的子字符串

正则表达式匹配双引号内的每个字符串并包含转义引号

匹配字符串中的正则表达式

如何通过正则表达式在kotlin中匹配双引号中的字符串

使用正则表达式匹配字符串?

如何构建正则表达式以匹配引号中的字符串?

正则表达式:匹配MSSQL连接字符串中的密码,并考虑引号包装

用于匹配单引号字符串的正则表达式在PHP中失败

使用Perl正则表达式替换引号封装字符串中的引号

使用正则表达式的子字符串

如何在python中使用正则表达式将HTML子字符串追加和添加到匹配的字符串中?

使用 Kotlin 中的正则表达式将字符串与逗号分隔的子字符串匹配,确保没有前导/尾随逗号

正则表达式在if语句中使用空格将字符串匹配(使用引号?)

正则表达式匹配字符串的子字符串

JS-字符串包含与正则表达式匹配的子字符串

正则表达式以匹配包含以点分隔的子字符串的字符串