正则表达式中,group()用来提出分组截获的字符串,()用来分组
import re a = "123abc456" print re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(0) #123abc456,返回整体 print re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(1) #123 print re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(2) #abc print re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(3) #456
究其因
1. 正则表达式中的三组括号把匹配结果分成三组
- group() 同group(0)就是匹配正则表达式整体结果
- group(1) 列出第一个括号匹配部分,group(2) 列出第二个括号匹配部分,group(3) 列出第三个括号匹配部分。
2. 没有匹配成功的,re.search()返回None
3. 当然郑则表达式中没有括号,group(1)肯定不对了。
=eg:=================================
#! /usr/bin/python
# -*- coding: utf-8 -*-
import re
zhPattern = re.compile(u‘[\u4e00-\u9fa5]+‘)
#判断一段文本中是否包含简体中:
contents=u‘判断一段文本中是否包含简体中文:是就是,不是就不是‘
match = zhPattern.search(contents)
if match:
print(u‘有中文:%s‘ % (match.group(0),))
else:
print(u‘没有包含中文‘)
时间: 2024-10-13 04:17:34