正则表达式是对字符串操作的一种逻辑公式,在本文中,介绍几种常用的正则表达式使用示例供参考。
从文本中提取电子邮件地址
import re
e ='123456@qq.com123456'
result =re.findall('[a-zA-Z0-9]\S*@\S*[a-zA-Z]', e)
print(result)
输出:
['123456@qq.com']
从文本中提取数字
import re
s = "abc def: -3.14 or 1.23 or 9 "
result = re.findall(r"[-+]?\d*\.\d+|\d+", s)
print(result)
输出:
['-3.14', '1.23', '9']
从给定的文本中单独提取所有数字
import re
s = "abc def: -3.14 or 1.23 or 9 "
result=re.findall(r'\d', s)
print(result)
输出:
['3', '1', '4', '1', '2', '3', '9']
从文本中提取日期
import re
s = "I was born on 07/12/2001 in YYY city. I graduated from ZZZ college on 07-28-2019."
result = re.findall(r"\d{2}[/-]\d{2}[/-]\d{4}", s)
print(result)
输出:
['07/12/2001', '07-28-2019']
从 HTML 链接中提取 URL
import re
s = '<p>Welcome: </p><a href="https://www.zbxx.net">'
result = re.findall('http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+', s)
print(result)
输出:
['https://www.zbxx.net']
从给定的 URL 中提取主机名和协议
import re
website = 'https://www.zbxx.net/'
result1 = re.findall('(\w+)://', website)
print(result1)
result2 = re.findall('://www.([\w\-\.]+)', website)
print(result2)
输出:
['https']
['zbxx.net']
使用通配符
正则表达式中的点“.”表示通配符,代表换行符以外的任何字符。
import re
rex = re.compile('ab.c')
s = "abbc, abcd, abcc"
print(rex.findall(s))
输出:
['abbc', 'abcc']
删除空格/制表符/换行符
在正则表达式中使用“\S”,它代表所有非空格字符。
import re
print(re.findall(r"[\S]","""I find zbxx useful"""))
输出:
['I', 'f', 'i', 'n', 'd', 'z', 'b', 'x', 'x', 'u', 's', 'e', 'f', 'u', 'l']
多个分隔符拆分字符串
import re
s = 'one,two-three,four'
result = re.split(r',|-', s)
print(result)
输出:
['one', 'two', 'three', 'four']
扫码二维码 获取免费视频学习资料
- 本文固定链接: http://phpxs.com/post/11660/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料
查 看2022高级编程视频教程免费获取