|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
>>> result = re.search(r'(\w+)(\w+)', 'I love FishC.com!') # search+无空格+.com
>>> result
<re.Match object; span=(2, 6), match='love'> # 为何无I?
>>> result = re.search(r'(\w+)(\w+)', 'I love FishC_com!') # search+无空格+_com
>>> result
<re.Match object; span=(2, 6), match='love'> # 为何无I?
>>> result = re.search(r'(\w+) (\w+)', 'I love FishC.com!') # search+1个空格+.com
>>> result
<re.Match object; span=(0, 6), match='I love'>
>>> result = re.search(r'(\w+) (\w+)', 'I love FishC_com!') # search+1个空格+_com
>>> result
<re.Match object; span=(0, 6), match='I love'>
>>> result = re.search(r' (\w+) (\w+)', 'I love FishC.com!') # search+2个空格+.com
>>> result
<re.Match object; span=(1, 12), match=' love FishC'> # 为何无I?
>>> result = re.search(r' (\w+) (\w+)', 'I love FishC_com!') # search+2个空格+_com
>>> result
<re.Match object; span=(1, 16), match=' love FishC_com'> # 为何无I?
>>> result = re.findall(r'(\w+)(\w+)', 'I love FishC.com!') # findall+无空格+.com
>>> result
[('lov', 'e'), ('Fish', 'C'), ('co', 'm')] # 看不懂结果
>>> result = re.findall(r'(\w+)(\w+)', 'I love FishC_com!') # findall+无空格+_com
>>> result
[('lov', 'e'), ('FishC_co', 'm')] # 看不懂结果
>>> result = re.findall(r'(\w+) (\w+)', 'I love FishC.com!') # findall+1个空格+.com
>>> result
[('I', 'love')] # 看不懂结果
>>> result = re.findall(r'(\w+) (\w+)', 'I love FishC_com!') # findall+1个空格+_com
>>> result
[('I', 'love')] # 看不懂结果
>>> result = re.findall(r' (\w+) (\w+)', 'I love FishC.com!') # findall+2个空格+.com
>>> result
[('love', 'FishC')] # 看不懂结果
>>> result = re.findall(r' (\w+) (\w+)', 'I love FishC_com!') # findall+2个空格+_com
>>> result
[('love', 'FishC_com')] # 看不懂结果
最开始前两个为何无 I 的原因是 :
+ 是匹配前面的 1 至 多次,而你 I 只有一个字符,前后都没有在相邻的字母了
即只能匹配上 (\w+)(\w+) 前面一组正则,而后面一组匹配不上,自然就匹配失败。(\w+)(\w+) 的匹配最少需要两个字母
>>> result = re.search(r' (\w+) (\w+)', 'I love FishC.com!') # search+2个空格+.com
>>> result
<re.Match object; span=(1, 12), match=' love FishC'> # 为何无I?
' (\w+) (\w+)' 匹配不上 I 呀,I 前面没有空格,而你正则开始第一个就是空格
>>> result = re.findall(r'(\w+)(\w+)', 'I love FishC.com!') # findall+无空格+.com
>>> result
[('lov', 'e'), ('Fish', 'C'), ('co', 'm')] # 看不懂结果
因为你正则表达式中分组了,findall 返回的就是正则整组此时匹配到的结果
列表中一个 元组表示 匹配到的元素,元组中的正则元素对应每组匹配的元素
|
|