python-正则表达式的补充

正则表达式在线生成
1.匹配url地址
http://www.baidu.com

^((https|http|ftp|rtsp|mms)?:\/\/)[^\s]
# ^: 以什么开头
# (https|http|ftp|rtsp|mms): 代表一个分组
# [https|http|ftp|rtsp|mms]: 代表一个字母

^:
    如果没有在[]里面的时候, 代表以什么开头;
    如果在[]里面的时候,代表除了...之外;

# \d ==== [0-9] === [0123456789]
import re

url = 'http://www.baidu.com'
pattern = r'^((https|http|ftp|rtsp|mms)?:\/\/)\S+'

# \ 标识符
# 进行分组的时候, findall方法只返回分组里面的内容;
# print(re.findall(pattern, url))

resObj = re.search(pattern, url)
if resObj:
    # group方法会返回匹配的所有内容;
    print(resObj.group())
    # groups方法返回分组里面的内容;
    print(resObj.groups())

在这里插入图片描述
2.匹配日期
需求:2019-1-3 或者 2019.1.3 或者 2019/1/3
错误格式2019-1.4 2019.1/4

# \1: 代表的是一定要与第一个分组的内容保持一致, 否则不匹配;
\d{4}(\-|\/|.)\d{1,2}\1\d{1,2}

"""

import re

date = '2019-10-10'
pattern = r'\d{4}(\-|\/|.)\d{1,2}\1\d{1,2}'

reObj = re.search(pattern, date)
if reObj:
    print(reObj.group())
    print(reObj.groups())

在这里插入图片描述
3.匹配用户名
[\w-\u4e00-\u9fa5]+

字符串是否包含中文 []表示匹配方括号的中任意字符,
\u4e00是Unicode中汉字的开始,\u9fa5则是Unicode中汉字的结束
\w匹配字母, 数字或者下划线

  • 重复一次或更多次
import re
user = '西部开源123'
pattern = r'[\w\-\u4e00-\u9fa5]+'
print(re.findall(pattern, user))

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43067754/article/details/87548542