老师说:group(0)永远是原始字符串,group(1)、group(2)……表示第1、2、……个子串。
group(0)
group(1)
group(2)
我写了部分代码进行验证:
>>> import re >>> pattern = re.compile(r'(\d+)\w*?(\d+).*') # 匹配:数字+字母+数字+任意字符 >>> pattern.match('132in234dhu').groups() ('132', '234') >>> pattern.match('132in234dhu').group(0) '132in234dhu' >>> pattern.match('132in234dhu').group(1) '132' >>> pattern = re.compile(r'(\d+)\w*?(\d+)') # 匹配:数字+字母+数字 (剩余内容不匹配) >>> pattern.match('132in234dhu').groups() ('132', '234') >>> pattern.match('132in234dhu').group(0) '132in234' # 注意这里!group(0)返回的不是原始字符串,而是与正则表达式匹配的字符串!!! >>> pattern.match('132in234dhu').group(1) '132'
**group(0)**
你是对的
Sign in to make a reply
黑白配-White25860
老师说:
group(0)
永远是原始字符串,group(1)
、group(2)
……表示第1、2、……个子串。我写了部分代码进行验证:
所以!
**group(0)**
表示的是与正则表达式相匹配的字符串(而不是原始字符串),group(1)
、group(2)
……表示第1、2、……个子串。