常用正则匹配

常用正则匹配

#匹配IP地址的正则表达式:
/(\d+).(\d+).(\d+).(\d+)/g //

#匹配Email地址的正则表达式:
\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)*

#非负整数:
^\d+$

#正整数:
^[0-9][1-9][0-9]$

#非正整数:
^((-\d+)|(0+))$

#负整数:
^-[0-9][1-9][0-9]$

#整数:
^-?\d+$

#非负浮点数:
^\d+(.\d+)?$

#正浮点数:
^((0-9)+.[0-9][1-9][0-9])|([0-9][1-9][0-9].[0-9]+)|([0-9][1-9][0-9]))$

#非正浮点数:
^((-\d+.\d+)?)|(0+(.0+)?))$

#负浮点数:
^(-((正浮点数正则式)))$

#英文字符串:
^[A-Za-z]+$

#英文大写串:
^[A-Z]+$

#英文小写串:
^[a-z]+$

#英文字符数字串:
^[A-Za-z0-9]+$

#英数字加下划线串:
^\w+$

#E-mail地址:
^[\w-]+(.[\w-]+)*@[\w-]+(.[\w-]+)+$

#URL:
^[a-zA-Z]+://(\w+(-\w+))(.(\w+(-\w+)))(\?\s)?$
#或:^http:\/\/[A-Za-z0-9]+.[A-Za-z0-9]+[\/=\?%-&_~`@[]\’:+!]([^<>\”\”])$

#邮政编码:
^[1-9]\d{5}$

#中文:
^[\u0391-\uFFE5]+$

#电话号码:
^(((\d{2,3}))|(\d{3}-))?((0\d{2,3})|0\d{2,3}-)?[1-9]\d{6,7}(-\d{1,4})?$

#手机号码:
^(((\d{2,3}))|(\d{3}-))?13\d{9}$

#双字节字符(包括汉字在内):
^\x00-\xff

#匹配首尾空格:
(^\s*)|(\s*$)(像vbscript那样的trim函数)

#匹配HTML标记:
<(.)>.<\/\1>|<(.*) \/>

#匹配空行:
\n[\s| ]*\r

#提取信息中的网络链接:
(h|H)(r|R)(e|E)(f|F) = (|)?(\w|\|\/|.)+(|| *|>)?

#提取信息中的邮件地址:
\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)*

#提取信息中的图片链接:
(s|S)(r|R)(c|C) = (|)?(\w|\|\/|.)+(|| *|>)?

#提取信息中的IP地址:
(\d+).(\d+).(\d+).(\d+)

#提取信息中的中国手机号码:
(86)*0*13\d{9}

#提取信息中的中国固定电话号码:
((\d{3,4})|\d{3,4}-|\s)?\d{8}

#提取信息中的中国电话号码(包括移动和固定电话):
((\d{3,4})|\d{3,4}-|\s)?\d{7,14}

#提取信息中的中国邮政编码:
[1-9]{1}(\d+){5}

#提取信息中的浮点数(即小数):
(-?\d*).?\d+

#提取信息中的任何数字 :
(-?\d*)(.\d+)?

#IP:
(\d+).(\d+).(\d+).(\d+)

#电话区号:
/^0\d{2,3}$/

#腾讯QQ号:
^[1-9][1-9][0-9]$

#帐号(字母开头,允许5-16字节,允许字母数字下划线):
^[a-zA-Z][a-zA-Z0-9_]{4,15}$

#中文、英文、数字及下划线:
^[\u4e00-\u9fa5_a-zA-Z0-9]+$

re.match函数

匹配单个字符

字符功能位置表达式实例完整匹配的字符串
.匹配任意1个字符(除了\n)
[ ]匹配[ ]中列举的字符
\d匹配数字,即0-9可以写在字符集[…]中
\D匹配⾮数字,即不是数字可以写在字符集[…]中
\s匹配空⽩,即空格,tab键可以写在字符集[…]中#小写s
\S匹配⾮空⽩字符可以写在字符集[…]中#大写S
\w匹配单词字符,即a-z、A-Z、0-9、_可以写在字符集[…]中#小写w
\W匹配⾮单词字符可以写在字符集[…]中#大写W
  • […]字符集,对应的位置可以是字符集中任意字符。字符集中的字符可以逐个列出,也可以给出范围,比如[abc]和[a-c],第一个字符如果是表示取反。所有特殊字符(比如"]“”-“”“)在字符集中都失去原来的含义,如要使用可把”]“”-“放在第一个字符,”^"放在非第一个字符。

匹配多个字符

*匹配前⼀个字符出现0次或者⽆限次,即可有可⽆用在字符或(…)之后abc*abccc
+匹配前⼀个字符出现1次或者⽆限次,即⾄少有1次用在字符或(…)之后abc+abccc
?匹配前⼀个字符出现1次或者0次,即要么有1次,要么没有用在字符或(…)之后abc?ab,abc
{m}匹配前⼀个字符出现m次用在字符或(…)之后ab{2}cabbc
{m,n}匹配前⼀个字符出现从m到n次,若省略m,则匹配0到n次,若省略n,则匹配m到无限次用在字符或(…)之后ab{1,2}cabc,abbc

匹配开头结尾

字符功能
^匹配字符串开头
$匹配字符串结尾

匹配分组

字符功能
(ab)将括号中字符作为⼀个分组
\num引⽤分组num匹配到的字符串
(?P)分组起别名,匹配到的子串组在外部是通过定义的 name 来获取的
(?P=name)引⽤别名为name分组匹配到的字符串

参考:
https://blog.csdn.net/guo_qingxia/article/details/113979135
https://blog.csdn.net/m0_43609475/article/details/119924047

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值