正则表达式学习总结(python版)

前端之家收集整理的这篇文章主要介绍了正则表达式学习总结(python版)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1、正则框架

import@H_404_4@ re

pattern = re.compile(r'he(.+?)lo'@H_404_4@);#正则表达式@H_404_4@
match = pattern.match('helfdslo my sfsdfsdon'@H_404_4@);#目标字符串@H_404_4@

#输出内容@H_404_4@
if@H_404_4@ match:
    print@H_404_4@ match.group(1@H_404_4@)

2、匹配整数
整数的正则表达式是\d+,其中\d表示整数,+表示多个

# -*- coding: utf-8 -*-@H_404_4@
import@H_404_4@ re

pattern = re.compile('\d+'@H_404_4@);#正则表达式@H_404_4@
print@H_404_4@ re.findall(pattern,"jiang32jianfs fs fs232 gfsd3"@H_404_4@)

2、根据前后匹配任意字符串

# -*- coding: utf-8 -*-@H_404_4@
import@H_404_4@ re

pattern = re.compile('item(.*),'@H_404_4@);#正则表达式@H_404_4@
print@H_404_4@ re.findall(pattern,"jiang32jianfs fsitemddfd,fs232 gfsd3"@H_404_4@)

.表示任意字符串。
*表示一个或者多个
?表示一个
+表示一个以上

3、多个正则匹配

# -*- coding: utf-8 -*-@H_404_4@
import@H_404_4@ re

pattern = re.compile('a=(\d+).*,b=(\d+),"a=12,fsdfsdfsdfsdfsdfsd,b=12,fdsfsd."@H_404_4@)

其中.*表示过滤其中的所有字符,直到匹配到第二个正则表达式为止。

4、读取并输出

import@H_404_4@ re

f = open('/Users/jianghuiwen/item.txt'@H_404_4@,'r'@H_404_4@);
for@H_404_4@ line in@H_404_4@ f:
    #print line@H_404_4@
    pattern = re.compile('ItemAttr=(.*),itemCnt.*\[(\d+)\]'@H_404_4@);#正则表达式@H_404_4@
    r = re.findall(pattern,line)
    if@H_404_4@ len(r):
        print@H_404_4@ r[0@H_404_4@][0@H_404_4@] + r[0@H_404_4@][1@H_404_4@]

猜你在找的正则表达式相关文章