python 正则表达式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 正则表达式相关的知识,希望对你有一定的参考价值。
python 正则表达式
re 模块
分析日志,提取信息
普通字符
原字符:
. 代表任意一个字符
^ 以什么开头 , ^[abc]表示以abc开头
$ 以什么结尾
* 匹配前面的字符或表达式0次或多次 0,1,2 ……
+ 匹配前面字符或表达式至少1次 1,2,3 ……
? 匹配前面字符或表达式0次或1次 0,1
{} 里面可以是数值,{123}作为一个整体,可以匹配该整体几次
[] 匹配里面的某个字符,里面可以是个集合[0-9,a-z]
\ 转意,\$,表示就是 $
| 表示或
() 表示分组
正则表达式
\d 匹配任何十进制数,相当于[0-9]
\D 匹配任何非十进制数,相当于[^0-9]
\s 匹配任何空白字符,相当于[\t\n\r\f\v]
\S 匹配任何非空白字符,相当于[^\t\n\r\f\v]
\w 匹配任何字母和数字,相当于[a-zA-Z0-9]
\W 匹配任何非字母数字字符,相当于[^a-zA-Z0-9]
pattern:正则表达式,string:字符串 flag:标记,默认是0,返回的是一个列表 In [1]: import re In [2]: help(re.findall) Help on function findall in module re: findall(pattern, string, flags=0) Return a list of all non-overlapping matches in the string. If one or more groups are present in the pattern, return a list of groups; this will be a list of tuples if the pattern has more than one group. In [1]: import re In [2]: help(re.findall) In [3]: re.findall(r‘^ab+‘, ‘asdabbbb‘) #匹配以ab开头的行,没有找到 Out[3]: [] In [4]: re.findall(r‘ab+‘, ‘asdabbbb‘) #匹配包含ab,b可以有多个,匹配到abbbb Out[4]: [‘abbbb‘] In [5]: re.findall(r‘^ab+‘, ‘absdabbbb‘) #匹配以ab开头的字符,ab Out[5]: [‘ab‘] In [6]: re.findall(r‘ab+‘, ‘absdabbbb‘) #匹配包含字符ab,匹配结果ab,abbbb Out[6]: [‘ab‘, ‘abbbb‘]
本文出自 “梅花香自苦寒来!” 博客,请务必保留此出处http://daixuan.blog.51cto.com/5426657/1887003
以上是关于python 正则表达式的主要内容,如果未能解决你的问题,请参考以下文章