常用正则表达式大全,匹配及语法

常用正则表达式大全,匹配及语法

如果缺少,还望各位补充

正则表达式匹配

java:
匹配字符.matches(正则表达式);
(没有严格要求^开头和$结尾)
js:
正则表达式.test(匹配字符);
匹配字符.match(正则表达式);
(/^开头 结尾$/)

正则表达式大全


//信息验证类
1:身份证验证
^(^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}$)$

2:手机号码
^((13[0-9])|(14[5,7,9])|(15([0-3]|[5-9]))|(166)|(17[0,1,3,5,6,7,8])|(18[0-9])|(19[8|9]))\d{8}$

3:用户名 匹配中文,英文,数字和下划线 2-10^[\u4e00-\u9fa5\w]{2,10}$

4:账号 纯数字 数字+字母
//纯数字验证7~15
^[0-9]{7,15}$
//数字+字母账号验证7~15
^[0-9a-zA-Z]{7,15}$

5:密码 强 中 弱 7~18
//强 字母+数字+特殊字符
^(?![a-zA-Z]+$)(?!\d+$)(?![!@#$%^&*\.]+$)(?![a-zA-Z\d]+$)(?![a-zA-Z!@#$%^&*\.]+$)(?![\d!@#$%^&*\.]+$)[a-zA-Z\d!@#$%^&*\.]{7,18}$
// 强 大写+小写+数字+特殊字符
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&]{8,18}$
//中 字母+数字,字母+特殊字符,数字+特殊字符,字母+数字+特殊字符
^(?![a-zA-z]+$)(?!\d+$)(?![!@#$%^&*\.]+$)[a-zA-Z\d!@#$%^&*\.]{7,18}$
//弱 纯数字,纯字母,纯特殊字符
^(?:\d{7,18}|[a-zA-Z]{7,18}|[!@#$%^&*\.]{7,18})$

6IP地址
^((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))$

7:邮箱 Email
^[\\w-]+@[\\w-]+(\\.[\\w-]+)+$

8:文件夹匹配不包含违规字符且不为空
^[^\/:*?"<>|]+$

//生活类验证
1:货币 (金额更改:{0,2})
^(([1-9][0-9]{0,2}(,\d{3})*)|0)(\.\d{1,2})?$

2:日期时间格式 2月平润,大小月 (YYYY-MM-DD) (YYYY-MM-DD hh:mm:ss) (hh:mm:ss) 
//YYYY-MM-DD
^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|([1-2][0-9])))))|(\d{2}(([02468][1235679])|([13579][01345789]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))$
//YYYY-MM-DD hh:mm:ss
^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|([1-2][0-9])))))|(\d{2}(([02468][1235679])|([13579][01345789]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\s((([0-1][0-9])|(2?[0-3]))\:([0-5]?[0-9])((\s)|(\:([0-5]?[0-9])))))?$
//hh:mm:ss
^((([0-1][0-9])|(2?[0-3]))\\:([0-5]?[0-9])((\\s)|(\\:([0-5]?[0-9]))))$

9:数字匹配
// 正负小数可加百分号
/^-?(0|[1-9]\d*)\.?\d*%?$/

正则表达式书写符号

基本书写符号
符号含义示例解释匹配输入
\转义符\*符号“*”*
[ ]可接收的字符列表[efgh]e、f、g、h中的任意1个字符e、f、g、h
[^ ]不接收的字符列表[^abc]除a、b、c之外的任意1个字符,包括数字和特殊符号m、q、5、*
|匹配“|”之前或之后的表达式ab|cdab或者cdab、cd
( )将子表达式分组(abc)将字符串abc作为一组abc
-连字符A-Z任意单个大写字母大写字母
限定符
符号含义示例解释匹配输入不匹配输入
*指定字符重复0次或n次(abc)*仅包含任意个abc的字符串,等效于\w*abc、abcabcabca、abca
+指定字符重复1次或n次m+(abc)*以至少1个m开头,后接任意个abc的字符串m、mabc、mabcabcma、abc
?指定字符重复0次或1次m+abc?以至少1个m开头,后接ab或abc的字符串mab、mabc、mmmab、mmabcab、abc、mabcc
{n}只能输入n个字符[abcd]{3}由abcd中字母组成的任意长度为3的字符串abc、dbc、adca、aa、dcbd
{n,}指定至少 n 个匹配[abcd]{3,}由abcd中字母组成的任意长度不小于3的字符串aab、dbc、aaabdca、cd、bb
{n,m}指定至少 n 个但不多于 m 个匹配[abcd]{3,5}由abcd中字母组成的任意长度不小于3,不大于5的字符串abc、abcd、aaaaa、bcdabab、ababab、a
^指定起始字符^[0-9]+[a-z]*以至少1个数字开头,后接任意个小写字母的字符串123、6aa、555edfabc、aaa、a33
$指定结束字符^[0-9]-[a-z]+$以1个数字开头后接连字符“–”,并以至少1个小写字母结尾的字符串2-a、3-ddd、5-efg33a、8-、7-Ab
匹配字符集
符号含义示例解释匹配输入不匹配输入
.匹配除 \n 以外的任何字符a…b以a开头,b结尾,中间包括2个任意字符的长度为4的字符串aaab、aefb、a35b、a#*bab、aaaa、a347b
\d匹配单个数字字符,相当于[0-9]\d{3}(\d)?包含3个或4个数字的字符串123、987612、01023
\D匹配单个非数字字符,相当于[^0-9]\D(\d)*以单个非数字字符开头,后接任意个数字字符串a、A342aa、AA78、1234
\w匹配单个数字、大小写字母字符,相当于[0-9a-zA-Z]\d{3}\w{4}以3个数字字符开头的长度为7的数字字母字符串234abcd、12345Pe58a、Ra46
\W匹配单个非数字、大小写字母字符,相当于[^0-9a-zA-Z]\W+\d{2}以至少1个非数字字母字符开头,2个数字字符结尾的字符串#29、#?@1023、#?@100
分组构造形式
分组构造说明
( )非命名捕获。捕获匹配的子字符串(或非捕获组)。编号为零的第一个捕获是由整个正则表达式模式匹配的文本,其它捕获结果则根据左括号的顺序从1开始自动编号。
(?)命名捕获。将匹配的子字符串捕获到一个组名称或编号名称中。用于name的字符串不能包含任何标点符号,并且不能以数字开头。可以使用单引号替代尖括号,例如 (?‘name’)
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值