python笔记-正则表达式

Posted

tags:

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

正则表达式                                                                                                                                                   

  • 匹配

    \d 匹配一个数字

    \w 匹配一个字母

    \s 匹配一个空格或tab空白符

    [] 匹配一个范围,例如[0-9a-zA-Z\_]可以匹配一个数字、字母或者下划线

    . 表示任意一个字符

    ? 表示任意一个或零个字符


  • 个数

    + 表示其前面的字符串至少出现了一次

    {n} 表示其前面的字符串出现了n次

    {n,m} 可以表示其前面的字符串出现了n-m次


  • 转义

    \ 表示转义

    r'' 引号中的特殊字符会被转义(建议使用这种,不用考虑转义问题)


  • re模块

match()方法 判断是否匹配,如果匹配成功,返回一个Match对象,否则返回None。常见语法如下:

str = '用户输入的字符串'
if re.match(r'正则表达式', str):
    print('ok')
else:
    print('failed')

例如:

#匹配ip地址
import re
if re.match(r'\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}','127.0.0.1'):
    print('ok')
else:
    print('false')


  • 分组

() 小括号中匹配的分为一组,常用功能:简洁代码、字串提取,例如:

#匹配ip地址,相同的部分写成了一组
import re
if re.match(r'(\d{1,3}.){3}\d{1,3}','127.0.0.1'):
    print('ok')
else:
    print('false')
#识别时间,提取小时、分钟、秒
import re
t = '23:05:30'
m = re.match(r'^(0[0-9]|1[0-9]|2[0-3]|[0-9]):(0[0-9]|1[0-9]|2[0-9]|3[0-9]|4[0-9]|5[0-9]|[0-9]):(0[0-9]|1[0-9]|2[0-9]|3[0-9]|4[0-9]|5[0-9]|[0-9])$', t)
print (m.groups())




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

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

PYTHON笔记简单的网页爬虫:用正则表达式抓取关键信息

python笔记-正则表达式

python笔记-正则表达式

python学习笔记9:正则表达式

python 正则表达式(RE)笔记1