0%

Python re模块正则表达式

使用 Python re 模块运用正则表达式。

re.match 是从字符串的第一个字符开始比较,返回truefalse

1
2
3
4
5
6
import re
text = input('请输入你的邮箱:')
if re.match(r'[0-9a-zA-Z_]{1,19}@[0-9a-zA-Z]{1,13}\.[com,cn,net]{1,3}', text):
print('这是一个邮箱')
else:
print('这不是一个邮箱')

re.search 是查找这个字符中是否包含被查找的字符串,如果有,则输出这个字条串。

1
2
3
4
5
6
7
import re
text = input('请输入你的邮箱:')
email = re.search(r'[0-9a-zA-Z_]{1,19}@[0-9a-zA-Z]{1,13}\.[com,cn,net]{1,3}', text)
if email != None:
print(email.group())
else:
print('这不是一个邮箱')

当要复用某个正则表达式时,可以使用re.compile把这个正则保存下来。

1
2
3
4
5
6
import re
# 在[]集合模式中,^字符出现在第一个字符时,表示取反
pattern = re.compile(r'[a-zA-Z]*://[^\s]*')
string = '测试http://www.baidu.com 空白'
url = re.findall(pattern, string)
print(url)