python正则表达式使用
2018-01-17 10:46
357 查看
python正则表达re模块使用
从首字母开始开始匹配,string如果包含pattern子串,则匹配成功,返回Match对象,失败则返回None,若要完全匹配,pattern要以$结尾。
若string中包含pattern子串,则返回Match对象,否则返回None,注意,如果string中存在多个pattern子串,只返回第一个。
返回string中所有与pattern相匹配的全部字串,返回形式为数组。
返回string中所有与pattern相匹配的全部字串,返回形式为迭代器。
以下代码功能为,找出所有smali方法的函数名:
打印找到所有函数名:
默认findall这里打印的是
math对象group方法可以取正则表达式中的原子
group()与group(0)都表示取整个表达内容
正则中每个()中表示一个原子
repl 这个参数可以是字符串,也可以是回调函数,下面例子是回调函数情况
1、match
re.match(pattern, string[, flags])
从首字母开始开始匹配,string如果包含pattern子串,则匹配成功,返回Match对象,失败则返回None,若要完全匹配,pattern要以$结尾。
2、search
re.search(pattern, string[, flags])
若string中包含pattern子串,则返回Match对象,否则返回None,注意,如果string中存在多个pattern子串,只返回第一个。
3、findall
re.findall(pattern, string[, flags])
返回string中所有与pattern相匹配的全部字串,返回形式为数组。
4、finditer
re.finditer(pattern, string[, flags])
返回string中所有与pattern相匹配的全部字串,返回形式为迭代器。
以下代码功能为,找出所有smali方法的函数名:
f= open(fulpath,"rb")#fulpath为smali路径 buf = f.read() f.close() pattern =re.compile(r".method.+ (.+?)\(.+\)")#这里不带flag表示 .不匹配新行 m = None m=re.findall(pattern, buf) if None!=m: print m#打印所有匹配函数
打印找到所有函数名:
默认findall这里打印的是
(.+?)匹配的数据,如果想打印出其它的信息可以换成finditer,以下代码与上面相同
m=re.finditer(pattern, buf) for i in m: print i.group(1)
math对象group方法可以取正则表达式中的原子
group()与group(0)都表示取整个表达内容
正则中每个()中表示一个原子
re.sub用法
sub(pattern, repl, string, count=0, flags=0)repl 这个参数可以是字符串,也可以是回调函数,下面例子是回调函数情况
#找到文件中onCreate中方法,传到
rel中处理
buf =open(actfpath,"r").read() pt=re.compile("onCreate(.+?)(.end method)",re.DOTALL) buf =re.sub(pt,rel,buf) #----正则回调,插入smali代码 def rel(m): """""" smali=" invoke-virtual {p0}, Lorg/dogs/baidusdcardService;- \ " buf = m.group() endbuf =".end method" newend = smali+"\n"+endbuf buf = buf.replace(endbuf,newend) return buf
纯手工,原创
相关文章推荐
- 使用Python正则表达式从文章中取出所有图片路径
- 比较详细Python正则表达式操作指南(re使用)
- 正则表达式使用学习(C++、Qt、Python)
- 比较详细Python正则表达式操作指南(re使用)
- Python中使用正则表达式
- python 学习记录(2)—re 正则表达式模块的使用
- 使用Python正则表达式提取搜索结果中的站点
- 看看如何在python中使用正则表达式(-)
- 在Python中使用正则表达式同时匹配邮箱和电话并进行简单的分类
- 转:比较详细Python正则表达式操作指南(re使用)
- 在Python中使用正则表达式同时匹配邮箱和电话并进行简单的分类
- Python天天美味(15) - Python正则表达式操作指南(re使用)(转)
- python正则表达式介绍及使用方法
- [转]使用python的正则表达式做词法分析器
- python使用带汉字的正则表达式
- 在python 中使用正则表达式
- PYTHON正则表达式 re模块使用说明
- Python中使用正则表达式
- PYTHON正则表达式 re模块使用说明
- Python 正则表达式 RE模块的使用方法