正则表达式(Python语法)

#encoding: utf-8
import re
匹配某个字符串:
text = "hello"
ret = re.match('he',text)
print(ret.group())
点:匹配任意的字符
text = "\n"
ret = re.match('.',text)
print(ret.group())
\d:匹配任意的数字(0-9)
text = "+"
ret = re.match('\d',text)
print(ret.group())
\D:匹配任意的非数字
text = "2"
ret = re.match('\D',text)
print(ret.group())
\s:匹配空白字符(\n,\t,\r,空格)
text = "\r"
ret = re.match('\s',text)
print(ret.group())
\w:匹配的是a-z,A-Z,数字和下划线
text = "+"
ret = re.match('\w',text)
print(ret.group())
\W:与\w相反。
text = "a"
ret = re.match('\W',text)
print(ret.group())
[]组合的方式,只要满足中括号中的字符,就可以匹配
text = "0731-88888888asfa"
ret = re.match('[\d-]+',text)
print(ret.group())
8.1. 中括号的形式代替\d
text = "09"
ret = re.match('[0-9]',text)
print(ret.group())
8.2. 中括号的形式代替\D
text = "1"
ret = re.match('[^0-9]',text)
print(ret.group())
8.3. 中括号的形式代替\w
text = ""
ret = re.match('[a-zA-Z0-9]',text)
print(ret.group())
8.4. 中括号的形式代替\W
text = "0"
ret = re.match('[^a-zA-Z0-9_]',text)
print(ret.group())
########## 匹配多个字符 ############
9. *:可以匹配0或者任意多个字符
text = "abcd"
ret = re.match('\s*',text)
print(ret.group())
+:匹配1个或者多个字符
text = "+abcd"
ret = re.match('\w+',text)
print(ret.group())
?:匹配一个或者0个(要么没有,要么就只有一个)
text = "abcd"
ret = re.match('\w?',text)
print(ret.group())
{m}:匹配m个字符。
text = "abcd"
ret = re.match('\w{2}',text)
print(ret.group())
{m,n}:匹配m-n个字符
text = "abcdab"
ret = re.match('\w{1,5}',text)
print(ret.group())
########## 小案例 ############
14. 验证手机号码:
text = "12578900980"
ret = re.match('1[34578]\d{9}',text)
print(ret.group())
验证邮箱:
text = "hynever12_@163com"
ret = re.match('\w+@[a-z0-9]+.[a-z]+',text)
print(ret.group())
验证URL
text = "https://baike.baidu.com/item/Python/407313?fr=aladdin"
ret = re.match('(http|https|ftp)://[^\s]+',text)
print(ret.group())
验证身份证:
text = "31131118908123230a"
ret = re.match('\d{17}[\dxX]',text)
print(ret.group())
^(脱字号):
text = "hello"
ret = re.search('^h',text)
print(ret.group())
:表示以...结尾: text = "xxx@163.com" ret = re.match('\w+@163.com',text)
print(ret.group())
|:匹配多个字符串或者表达式:
text = "https"
ret = re.match('(ftp|http|https)$',text)
print(ret.group())
21:贪婪模式与非贪婪模式:
text = "0123456"
ret = re.match('\d+?',text)
print(ret.group())
text = "<h1>标题</h1>"
ret = re.match('<.+?>',text)
print(ret.group())
22:匹配0-100之间的数字
可以出现的:1,2,3,10,100,99
有三种情况:1,99,100
不可以出现的:09,101
text = "01"
ret = re.match('[1-9]\d?∣100',text)
print(ret.group())
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

月光如春风拂面

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值