正则表达式

Posted 矮人er

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式相关的知识,希望对你有一定的参考价值。

正则表达式的符号与方法

>>常用符号:

 >>.:匹配任意字符,换行符\n除外

>>> import re
>>> a = abc123
>>> b = re.findall(a.,a)
>>> print(b)
[ab]
>>> b = re.findall(a..,a)
>>> print(b)
[abc]

 >>*:匹配前一个字符0次或无限次

>>> import re
>>> a = abca123
>>> b = re.findall(a*,a)
>>> print(b)
[a, ‘‘, ‘‘, a, ‘‘, ‘‘, ‘‘, ‘‘]

 >>?:匹配前一个字符0次或1次

>>> import re
>>> a = abca123
>>> b = re.findall(a?,a)
>>> print(b)
[a, ‘‘, ‘‘, a, ‘‘, ‘‘, ‘‘, ‘‘]

 >>.*:贪心算法

>>> import re
>>> a = fdsfsdafasfaxxaxxfdsafsdfasxxbxxfdsafasfsaxxcxxdfafdsa
>>> b = re.findall(xx.*xx,a)
>>> print(b)
[xxaxxfdsafsdfasxxbxxfdsafasfsaxxcxx]

 >>.*?:非贪心算法

>>> import re
>>> a = fdsfsdafasfaxxaxxfdsafsdfasxxbxxfdsafasfsaxxcxxdfafdsa
>>> b = re.findall(xx.*?xx,a)
>>> print(b)
[xxaxx, xxbxx, xxcxx]

 >>():括号内的数据作为结果返回

>>> import re
>>> a = fdsfsdafasfaxxaxxfdsafsdfasxxbxxfdsafasfsaxxcxxdfafdsa
>>> b = re.findall(xx(.*?)xx,a)
>>> print(b)
[a, b, c]

 >>\d+:匹配数字

>>> import re
>>> a = ab312321ab21312
>>> b = re.findall(\d+,a)
>>> print(b)
[312321, 21312]

>>常用方法

 >>findall:匹配所有符合规律的内容,返回包含结果的列表

 >>search:匹配并提取第一个符合规律的内容,返回一个对象

>>> import re
>>> a = abca123
>>> b = re.search(a?,a).group(0)
>>> print(b)
a

 >>Sub:替换符合规律的内容,返回替换后的值

>>> import re
>>> a = abca123
>>> b = re.sub(.*?123,0123,a)
>>> print(b)
0123

 

以上是关于正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

markdown 正则表达式模式片段

正则表达式匹配特定的 URL 片段而不是所有其他 URL 可能性

循环通过 python 正则表达式匹配

asp.net 使用正则表达式验证包含打开/关闭括号片段的属性字符串

攻破难啃的骨头-正则表达式(转)

正则表达式的贪婪和非贪婪模式