正则

1.字符匹配范围
A:精确匹配单个字符
x|y:允许出现的2个字符
[xyz]:字符集合,允许出现集合内任意单个字符
[a-z] [A-Z] [0-9]:字符范围
[^xyz] [^0-9]:集合内字符不允许出现

2.元字符
\d :匹配任意单个数字
\D :匹配\d规则之外的任意单个字符
\w :匹配任意单个字母数字下划线
\W :匹配\w之外的任意单个字符
\s :匹配单个空格
\n :匹配单个换行符
\. :特殊字符 只匹配.
. :匹配任意单个字符(换行符除外)

3.多次重复匹配
A{3} :精准3次匹配
A{3,} :最少出现3次
\d{3,5} :约定出现最少次数与最大次数
\d* :可以出现零次至无限次,相当于{0,}
\d+ :最少出现一次,相当于{1,}
\d? :最多出现一次,相当于{0,1}

4.定位匹配
^A.* :头匹配 以A开头
.*A$ :未匹配 以A结尾
^A.*A$:全字匹配 以A开头并且以A结尾

5.贪婪模式
在满足条件的情况下尽可能多的匹配
例如:112233112 正则:\d{6,8} 结果就是:11223311

6.非贪婪模式
在满足条件的情况下尽可能少匹配
例如:112233112 正则:\d{6,8}? 结果就是:112233

7.表达式分组
将正则表达式 分组为多个子表达式
例如:12345678或者123456 正则:(^\d{4}$)|(^\d{8}$)

备注:
在JavaScript中,正则表达式:/^[\u4e00-\u9fa5]{2,8}$/ 前后需要添加/
例如匹配人姓名:
var regex1=/^[\u4e00-\u9fa5]{2,8}$/;
var name="李四";
regex1.test(name);//返回值为true:匹配上 false:未匹配到
在java中,匹配正则表达式:
Pattern p = Pattern.compile("([\\u4e00-\\u9fa5]{2,10})([a-zA-Z]{10,20})");//其中匹配中文的\u4e00前面需要在添加\
Macther m = p.matcher("张三zhangsan");
m.find();//返回true有匹配到 false没有匹配到
如果匹配到多个使用循环获取
while(m.find()){
  m.group(0); //表示符合表达式所有的信息:张三zhangsan,
  m.group(1); //表示符合分组第一部分的汉字([\\u4e00-\\u9fa5]{2,10}):张三
  m.group(2); //表示符合分组第二部分的英文([a-zA-Z]{10,20}):zhangsan
}

 

phone:[/^1\d{10}$/,"],

email:[/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/],


var a = /(^1\d{10}$)|(^0(\d{2,3})?[-]?\d{7,8}$)/g; "固话格式为:固话为区号(3-4位)号码(7-8位);手机号码格式为:以1开头,长度为11数字"

var a = /^0(\d{2,3})?[-]?\d{7,8}$/; "传真格式为:区号(3-4位)号码(7-8位),格式:0371-68787027"

var a = /^[1-9][0-9]{5}$/; "请输入正确的邮政编码"

  "请输入合法网址"
var a = /^(https?|s?ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/;

  "请输入正确格式的电子邮件"
var a = /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/;

posted @ 2021-03-30 20:39  景、  阅读(122)  评论(0编辑  收藏  举报