|
环境:
Python 3.5.1 (v3.5.1:37a07cee5969, Dec 6 2015, 01:54:25) [MSC v.1900 6
D64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
问题:
有两条语句: re.findall(r'(x)|y(?(1)y|x)','xy') 和 re.findall(r'(x)|y(?(1)y|x)','xx'),这两条语句的结果不同,没想明白为啥。
>>> re.findall(r'(x)|y(?(1)y|x)','xy')
['x']
>>> re.findall(r'(x)|y(?(1)y|x)','xx')
['x', 'x']
请问
1. r'(x)|y(?(1)y|x)'中的(1)所指向的内容的具体解答,有点疑惑,有些书上好像是写的匹配的整个字符串,有的写的是第一个匹配的子串?
2. r'(x)|y(?(1)y|x)'的具体的意思是什么,是不是 这样解释:
单个字符x或者y后面跟着一个字符y(如果前面出现的是x)或者x(如果前面出现的是y)?
但是这样理解的话和结果匹配不上啊。
求大侠解惑。。
谢谢
|
|