常用正则表达式汇总

作者:admin   时间:2020-07-09   访问量:155

  记录一些常用的正则表达式,也可以提高一下工作效率嘛

  正则表达式基本语法

  格式:re=new RegExp("pattern","g");re=/pattern/g;^首,$尾

  方法:

  i (ignore):忽略大小写;

  g (global):查找全部;

  search:查找,返回第一个查到的位置;

  match:匹配内容,返回数组;

  replace:替换;

  字符类:

  任意字符 [abc]。例子:o[usb]t——obt、ost、out;

  范围 [a-z]、[0-9]。例子:id[0-9]——id0、id5;

  排除 [^a]。例子:o[^0-9]t——oat、o?t、ot;

  组合 [a-z0-9A-Z]

  转义字符:

  \d:数字; \w:字母数字下划线; \s:所有空白字符;

  \D:非数字; \W:非字母数字下划线; \S:非空白字符;

  \b:单词边界; \r:匹配一个回车符; \n:匹配一个换行符;

  特殊字符:

  $:匹配输入字符串的结尾位置.要匹配 $ 字符本身,请使用 \$;

  ( ):标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 \( 和 \);

  *:匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \*;

  +:匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 \+;

  .(点):匹配除换行符 \n 之外的任何单字符。要匹配 . ,请使用 \.;

  [:标记一个中括号表达式的开始。要匹配 [,请使用 \[;

  ?:匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 字符,请使用 \?;

  \:将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。例如, 'n' 匹配字符 'n'。'\n' 匹配换行符。序列 '\\' 匹配 "\",而 '\(' 则匹配 "(";

  ^:匹配输入字符串的开始位置,除非在方括号表达式中使用,当该符号在方括号表达式中使用时,表示不接受该方括号表达式中的字符集合。要匹配 ^ 字符本身,请使用 \^;

  {:标记限定符表达式的开始。要匹配 {,请使用 \{;

  |:指明两项之间的一个选择。要匹配 |,请使用 \|;

  exp1(?=exp2):查找 exp2 前面的 exp1;

  (?<=exp2)exp1:查找 exp2 后面的 exp1;

  exp1(?!exp2):查找后面不是 exp2 的 exp1;

  (?<!exp2)exp1:查找前面不是 exp2 的 exp1;

  量词(出现次数):

  {n,m}:至少n次,最多m次;

  {n,}:至少n次;

  *:任意次 {0,};

  ?: 零次或一次 {0,1};

  +:一次或任意次{1,};

  {n}:正好n次;

  * 和 + 限定符都是贪婪的,因为它们会尽可能多的匹配文字,只有在它们的后面加上一个 ? 就可以实现非贪婪或最小匹配。

  数字的正则表达式

  数字:^[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+)?$

  字符的正则表达式

  汉字:^[\u4e00-\u9fa5]{0,}$

  英文和数字:^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$

  长度为3-20的所有字符:^.{3,20}$

  由26个英文字母组成的字符串:^[A-Za-z]+$

  由26个大写英文字母组成的字符串:^[A-Z]+$

  由26个小写英文字母组成的字符串:^[a-z]+$

  由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$

  由数字、26个英文字母或者下划线组成的字符串:^w+$ 或 ^w{3,20}$

  中文、英文、数字包括下划线:^[u4E00-u9FA5A-Za-z0-9_]+$

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

  禁止输入含有~的字符:[^~"]+

  特殊需求正则表达式

  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})+/.?

  URL:((ht|f)tps?):\/\/[\w\-]+(\.[\w\-]+)+([\w\-\.,@?^=%&:\/~\+#]*[\w\-\@?^=%&\/~\+#](?!(jpg|png|gif|jpeg)))?

  手机号码:^[1][3,4,5,6,7,8,9][0-9]{9}$

  身份证号:

  15或18位身份证:^d{15}|d{18}$

  15位身份证:^[1-9]d{7}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}$

  18位身份证:^[1-9]d{5}[1-9]d{3}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{4}$

  短身份证号码(数字、字母x结尾):^([0-9]){7,18}(x|X)?$ 或 ^d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$

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

  密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线):^[a-zA-Z]w{5,17}$

  强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间):^(?=.*d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$

  日期格式:^d{4}-d{1,2}-d{1,2}

  IP地址:d+.d+.d+.d+

  中文字符的正则表达式:[\u4e00-\u9fa5]


【地址】:http://www.inseo.cn/seo/50.html转载请注明出处


相关文章

Copyright © 2018-2030 大树SEO All Rights Reserved.