系统定制开发python-利用正则表达式匹配字符串

python系统定制开发相关的模块是re

系统定制开发该模块有几个常用的方法

  • re.compile() 系统定制开发生成一个正则对象
  • re.match().group() 系统定制开发根据正则表达式匹配字符串,系统定制开发如果不是从字符串首位匹配的,则返回none,利用group()返回匹配的字符串
  • re.search().group()根据正则表达式查找匹配字符串,返回第一个匹配的字符串,不限制必须是从首位匹配
  • re.findall()根据正则表达式返回所有匹配的子字符串,用列表返回
  • re.finditer() 同findall类似,只是返回一个迭代器(迭代器指可以通过循环遍历打印迭代器内容的对象,如元祖、列表等)
  • re.sub()使用字符串去替换匹配正则中的值
  • re.split()使用正则表达式中的字符去分割字符串,返回一个列表

调用举例

    str4="hello....hello----hello------hello--hello----hello"    pat4=re.compile(r"([a-z]+)")#生成正则对象    obj = pat4.match(str4)#返回<re.Match object; span=(0, 5), match='hello'>,从首位匹配成功,返回一个对象    	#使用group()返回re.match()的匹配对象    print(obj.group()) #打印hello	#因为从首位匹配正则失败,故返回None    print(pat4.match('0'+str4))	#re.search() 返回第一个匹配的子字符串,不限制必须是从首位匹配,返回hello    print(pat4.search(str4).group())     print(pat4.search('0'+str4).group())#返回hello	#re.findall() # 返回['hello', 'hello', 'hello', 'hello', 'hello', 'hello']    print(pat4.findall(str4))	#re.sub 替换#返回*....*----*------*--*----*,将re正则对象匹配的子字符串替换为sub的第一个参数    print(pat4.sub('*',str4))    #finditer生成匹配子字符串的迭代器    parttern = re.compile('([0-9]+)([a-z]+)')#正则对象有两个部分,一共是([0-9]+)([a-z]+),有两个部分[0-9]+、[a-z]+    data = parttern.finditer("010abb9992jack")    for tmp in data:#利用循环去访问正则迭代器,每个对象是正则表达式匹配的一个子字符串      print(tmp.group())#group()和group(0)返回匹配的整个子字符串 第一次循环返回010abb      print(tmp.group(1))#group(1)返回第一个()中的子正则匹配的内容,第一次循环010      print(tmp.group(2))#group(2)返回第二个()中的子正则匹配的内容,第一次循环abb    #利用迭代器的next打印每个迭代对象的值    print(next(data).group(1))#打印010    print(next(data).group(2))#打印jack 因为是第二个next迭代对象的第2个子正则表达式匹配的内容	#re.split()按照正则表达式的字符分割字符串    str = '010-111.232-qqq'    par = re.compile(r'[-.]')    print(par.split(str))#返回['010', '111', '232', 'qqq']
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

● group() 同group(0)就是匹配正则表达式整体结果
● group(1) 列出第一个括号匹配部分,group(2) 列出第二个括号匹配部分,group(3) 列出第三个括号匹配部分

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发