我首先遇到python正则表达式的一些问题
import re
Run Code Online (Sandbox Code Playgroud)
然后我跑了几个测试
>>> match = re.search(r'\w*i', "piiiiiiiiiiiiiiiiiiiip")
>>> print match.group()
>>>piiiiiiiiiiiiiiiiiiii
>>> match = re.search(r'i*i', "piiiiiiiiiiiiiiiiiiiip")
>>> print match.group()
>>>iiiiiiiiiiiiiiiiiiii
>>> match = re.search(r'i*', "iiiiiiiiiiiiiiiiiiiip")
>>> print match.group()
>>>iiiiiiiiiiiiiiiiiiii
>>>match = re.search(r'i*', "piiiiiiiiiiiiiiiiiiiig")
>>>print match.group()
>>> and got nothing
Run Code Online (Sandbox Code Playgroud)
你们知道为什么最后一个什么都没有?我也期待着iiiiiiiiiiiiiiiiiiii.
因为*前面的元素是零或更多.
match = re.search(r'i+', "piiiiiiiiiiiiiiiiiiiig")
match.group()
Run Code Online (Sandbox Code Playgroud)
输出:
'iiiiiiiiiiiiiiiiiiii'
Run Code Online (Sandbox Code Playgroud)
更新
*相当于{0,}.当它找到时p,它满足要求0 i.
所以它返回null字符.