Python 正则表达式

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-24 06:03   61   0

Python学习:

正则表达式

点击打开链接

点击链接查看更多


# 
# 正则表达式
# 
# import re
# 
# '\d' 匹配一个数字 '\w' 匹配一个字母或数字 '\s' 匹配一个空白符(如空格、制表符)
# 即:'\d\d\d' 可以匹配 '110'
#     '\w\w\w' 可以匹配 'ACM'
# 
# '.' 匹配任意字符
# 即:'A..' 可以匹配 'ACM'、'ACE' 等
# 
# '*' 表示任意个字符 '+' 表示至少一个字符 '?' 表示 0 个或 1 个字符 '{n}' 表示 n 个字符 '{n, m}' 表示 n ~ m 个字符
# 即:'\d{3}\s+\d{4}\s+\d{4}' 匹配的是三位数字 加至少一个空格 加四位数字 加至少一个空格 加四位数字
# 
# 注意:有一些字符是特殊字符,使用时需要加 '\' 转义,如 '_' 要使用 '\_'
# 
# '[0-9]' 匹配一个数字 '[a-z]' 匹配一个小写字母 '[A-Z]' 匹配一个大写字母
# 即:'[A-Z][a-z0-9]*' 匹配的是第一个字符是大写字母 加任意个小写字母或数字
# 
# '[A|B]' 表示匹配 A 或 B
# 即:'[P|p]ython' 匹配 'Python' 或 'python'
# 
# '^' 表示必须以什么为开头 '$' 表示必须以什么为结束
# 即:'^\d' 表示必须以数字开头 '\w$' 表示必须以字符结束
# 
# 由于 Python 的字符串存在转义所以表达式 '\d' 是 '\\d'
# 因此最好使用 r'\d'
# 

import re

re_email = re.compile(r'.*\@\w*\.\w*$') #匹配一个合法的email
s = input('Please input your email : ')
if re_email.match(s):
    print(s, 'is a valid email')
else:
    print(s, 'is not a valid email')

re_email = re.compile(r'(\<.*\>)?\s*(.*\@\w*\.\w*$)') #解析一个合法的email
s = input('Please input your email : ')
m = re_email.match(s)
if m:
    print(m.groups())
else:
    print(s, 'is not a valid email')

# example:
'''
Please input your email : bill.gates@microsoft.com
bill.gates@microsoft.com is a valid email
Please input your email : <Tom Paris> tom@voyager.org
('<Tom Paris>', 'tom@voyager.org')
'''


分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP