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 正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

python 正则表达式

python成长之路第三篇_正则表达式

python成长之路第三篇_正则表达式

python 正则表达式 re模块基础

Python学习笔记之正则表达式

python基础学习(十三)