10.3python正则函数

查找字符串

  • 查找字符串,返回所有匹配结果

import re

a = 'python 1111java678php'
r=re.findall('[a-z]{3,6}',a)
print(r)

findall()返回的将是符合要求的列表

  • 从首字符开始匹配,返回符合匹配条件的第一个结果

import re
s='83C72D1D8E67'

r=re.match('\d',s)
print(r)
print(r.span())
  • 搜索整个字符串,返回符合匹配条件的第一个结果

re.search()

提示:查找字符串时,可使用匹配模式

r=re.findall('\d' , a , re.I | re.S)

re.I 忽略大小写;re.S 包含\n

组的使用

import re 
s='life is short,i use python'
r=re.search('life(.*)python',s)
print(r.group(0,1))

替换字符串

  • 通知指定字符串替换

import re

language='PythonC#JavaC#PHPC#'

re.sub('c#','Go',language)
  • 通过函数替换

import re

language='PythonC#JavaC#PHPC#'

def convert(value):
    matched=value.group()
    return '!!' + value +'!!'

re.sub('c#',convert,language)

Last updated

Was this helpful?