Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用regexp将字符串中的子字符串与转义引号匹配_Python_Regex - Fatal编程技术网

Python 使用regexp将字符串中的子字符串与转义引号匹配

Python 使用regexp将字符串中的子字符串与转义引号匹配,python,regex,Python,Regex,我有这样的绳子 filter = "emails.type==\"work\"" 我写的regexp用于将不同的内容分组 matchobj = re.search(r"(\w+)(\.)?(\w+)?(==|!=|(like|LIKE))(.*[^\\])", filter) 测试 print("group1 ", matchobj.group(1)) print("group2 ",

我有这样的绳子

filter = "emails.type==\"work\""
我写的regexp用于将不同的内容分组

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组的预期值是带引号的“work”

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

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

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

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