常用正则表达式

语法整理:

1. 开始:^   结束:$

^start : 以start开始的字符串
end$:以end结尾的字符串
^start-end$:start-end
start-end:任何包含start-end的字符串

2. *:0次或n次    +:1次或n次    ?:0次或1次   {m[,n]}:表示重复的范围

ab*:表示一个字符串有一个a后面跟着零个或若干个b。("a", "ab", "abbb",……)
ab+:表示一个字符串有一个a后面跟着至少一个b或者更多
ab?:表示一个字符串有一个a后面跟着零个或者一个b
a?b+$":表示在字符串的末尾有零个或一个a跟着一个或多个b
ab{3}:表示一个字符串有一个a跟着3个b("abbb")
ab{3,}:表示一个字符串有一个a跟着至少3个b

ab{3,5}:表示一个字符串有一个a跟着3到5个b

3. | :或    . : 可替代任何字符  [] : 将[]里字符类似用|组合

a¦b:表示一个字符串里有"a"或者"b"
(b¦cd)ef:表示"bef"或"cdef"

(a¦b)*c:表示一串"a""b"混合的字符串后面跟一个"c"

a.[0-9]:表示一个字符串有一个"a"后面跟着一个任意字符和一个数字

^.{5}$:表示有任意三个字符的字符串(长度为5个字符)

注:①方括号里的^表示不应该出现的字符 如:"ss[^a-z]dd"表示ss和dd之间不能出现小写字母
       ②在方括号外使用 ^.$()¦*+?{\  这些字符的时候需要用转义字符"\"

4. 常见正则:

数字:^[0-9]*$
n位的数字:^\d{n}$
至少n位的数字:^\d{n,}$
m-n位的数字:^\d{m,n}$
零和非零开头的数字:^(0|[1-9][0-9]*)$
非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$
带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$
正数、负数、和小数:^(\-|\+)?\d+(\.\d+)?$
有两位小数的正实数:^[0-9]+(.[0-9]{2})?$
有1~3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$
非零的正整数:^\+?[1-9]\d*$
非零的负整数:^-[1-9]\d*$
非负整数:^\d+$
非正整数:^-[1-9]\d*|0$
非负浮点数:^\d+(\.\d+)?$
非正浮点数:^((-\d+(\.\d+)?)|(0+(\.0+)?))$
正浮点数:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$
负浮点数:^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$

浮点数:^(-?\d+)(\.\d+)?$

汉字:^[\u4e00-\u9fa5]$
英文和数字:^[A-Za-z0-9]+$
长度为3-20的所有字符:^.{3,20}$
由数字、26个英文字母或者下划线组成的字符串:^\w+$
中文、英文、数字包括下划线:^[\u4E00-\u9FA5A-Za-z0-9_]+$

中文、英文、数字但不包括下划线等符号:^[\u4E00-\u9FA5A-Za-z0-9]+$

Email地址:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?
网址:[a-zA-z]+://[^\s]* 或 ^https?://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$
手机号码:^(1[3|4|5|8])\d{9}$
国内电话号码(0511-4405222、021-87888822):\d{3}-\d{8}|\d{4}-\d{7}
密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间):^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$ 
日期格式: yyy-MM-dd : ^\d{4}-\d{1,2}-\d{1,2}$       hhmmss : ^([0-1]\d|2[0-3])[0-5]\d[0-5]\d$ 
钱的输入格式: ^([1-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$
xml文件:^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$
双字节字符:[^\x00-\xff] (包括汉字在内,可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1))
空白行的正则表达式:\n\s*\r 
HTML标记的正则表达式:<(\S*?)[^>]*>.*?</\1>|<.*? />
首尾空白字符的正则表达式:^\s*|\s*$或(^\s*)|(\s*$)
QQ号:[1-9][0-9]{4,} (QQ号从10000开始)
中国邮政编码:[1-9]\d{5}(?!\d) (中国邮政编码为6位数字)
IP地址:\d+\.\d+\.\d+\.\d+
经度:[\-\+]?(0?\d{1,2}\.\d{1,8}|1[0-7]?\d{1}\.\d{1,8}|180\.0{1,8}) (东西经分正负,0~180,精确到小数点后8位)
纬度:[\-\+]?([0-8]?\d{1}\.\d{1,8}|90\.0{1,8})  (南北纬分正负,0~90,精确到小数点后8位)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值