使用此模式:
(?<=\(\\\\).*(?=\))
这个主题字符串:'(\\Drafts) "/" "&g0l6P3ux-"'
我本来想匹配Drafts
然而,它不起作用。有人能解释为什么吗?你知道吗
我在Python中使用re模块,下面是我所做的:
>>> pattern = re.compile("(?<=\(\\\\).*?(?=\\))")
>>> pattern.pattern
'(?<=\\(\\\\).*?(?=\\))'
>>> two
'(\\Drafts) "/" "&g0l6P3ux-"'
>>> match = pattern.search(two)
>>> match
<_sre.SRE_Match object at 0x1096e45e0>
>>> match.groups()
()
>>> match.group(0)
'Drafts'
>>>
我的问题是为什么groups
什么也得不到,只有group
得到正确的答案?你知道吗
match.groups()
为空,因为您的模式没有定义任何捕获组。match.group(0)
是完全匹配的,而match.group(1)
将是第一个捕获组(如果有)。你知道吗为了提高可读性,应该将regex模式表示为原始字符串。你的可以写成
分解一下,有一个literal
(\
的lookback,然后是literal.*?
,最后是literal)
的lookahead。你知道吗相关问题 更多 >
编程相关推荐