正则表达式学习日记

1、“.”为通配符,表示任何一个字符,例如:“a.c”可以匹配“anc”、“abc”、“acc”;
2、“[]”,在[]内可以指定要求匹配的字符,例如:“a[nbc]c”可以匹配“anc”、“abc”、“acc”

;但不可以匹配“ancc”,a到z可以写成[a-z],0到9可以写成[0-9];

3、数量限定符号,表示匹配次数(或者叫做长度)的符号:

包括:“*”——0次或者多次
      “+”——1次或者多次
      “?”——0次或者1次
      “{n}”——匹配n次,n为整数
      “{n,m}”——匹配从n到m之间的某个数的次数;n和m都是整数;
      “{n,}”——匹配n到无穷次之间任意次数;
      “{,m}”——匹配0到m之间任意次数;
他们放到匹配格式的后面:
例如:
电话号码:024-84820482,02484820482(假设前面3或者4位,后面7或者8位,并且中间的减号可有可无)

都是符合规定的,那么可以用如下格式来匹配:[0-9]{3,4} \-? [0-9]{7,8};
注意:“\”为转义字符,因为“-”在正则表达式用有代表一个范围的意义,例如:前面所说的[0-9],

所以它需要转义字符“\”进行转义才可使用;
4、“^”为否符号,表示不想匹配的符号,例如:[^z][a-z]+可以匹配所有除“z”开头的以外的所有字

符串(长度大于2,因为“+”表示大于等于1的次数,从第二位开始都是小写英文字符);
如果^放到[]的外边则表示以[]开头的字符串;^[az][a-z]+表示a或者z开头的长度大于等于2的英文字符

串;
5、“|”或运算符,例如:a[n|bc|cb]c可以匹配“abcc”,“anc”,“acbc”;
6、“$”以它前面的字符结尾的;例如:ab+$就可以被“abb”,“ab”匹配;
7、一些简单表示方法:
\d表示[0-9];\D表示[^0-9];\w表示[A-Z0-9];\W表示[^A-Z0-9];\s表示[\t\n\r\f],就是空格字符包括tab

,空格等等;\S表示[^\t\n\r\f],就是非空格字符;
8、常用的匹配:
匹配中文字符: “[\u4e00-\u9fa5]”;
匹配双字节字符(包括汉字在内):“[^\x00-\xff]”;
匹配空行的正则表达式:“\n[\s| ]*\r”;
匹配HTML标记的正则表达式:“/<(.*)>.*<\/\1>|<(.*) \/>/”;
匹配首尾空格的正则表达式:“(^\s*)|(\s*$)”;
匹配非负整数(正整数 + 0):“^\d+$”;   
匹配正整数:“^[0-9]*[1-9][0-9]*$”; 
匹配非正整数(负整数 + 0):“^((-\d+)|(0+))$”;
匹配负整数:“^-[0-9]*[1-9][0-9]*$”;
匹配整数:“^-?\d+$”;
匹配非负浮点数(正浮点数 + 0):“^\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+)?))$  //匹配非正浮点数(负浮点数 + 0) 
^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$  //匹配

负浮点数 
匹配浮点数:“^(-?\d+)(\.\d+)?$”;
匹配由数字、26个英文字母或者下划线组成的字符串:“^\w+$”;
匹配email地址:“^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$”;
匹配url:“^[a-zA-z]+://匹配(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$”

常用正则表达式


非负整数(正整数 + 0) 
[^\\d+$] 

正整数                  
[^[0-9]*[1-9][0-9]*$]   

非正整数(负整数 + 0)
[^((-\\d+)|(0+))$]        

负整数 
[^-[0-9]*[1-9][0-9]*$]  

整数
[^-?\\d+$]       

非负浮点数(正浮点数 + 0) 
[^\\d+( \\.\\d+)?$]  

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

非正浮点数(负浮点数 + 0) 
[^((-\\d+( \\.\\d+)?)|(0+(\\.0+)?))$]  

负浮点数 
[^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$]  

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

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

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

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

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

由数字、26个英文字母或者下划线组成的字符串 
[^\\w+$]  

email地址 
[^[\\w-]+( \\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$]    

url


匹配中文字符的正则表达式: [\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]


中国电话号码验证 
匹配形式如:0511-4405222 或者021-87888822 或者 021-44055520-555 或者 (0511)4405222 
正则表达式 "((d{3,4})|d{3,4}-)?d{7,8}(-d{3})*"

中国邮政编码验证 
匹配形式如:215421 
正则表达式 "d{6}"

电子邮件验证 
匹配形式如:justali@justdn.com 
正则表达式 "w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*"

身份证验证 
匹配形式如:15位或者18位身份证 
正则表达式 "d{18}|d{15}"

常用数字验证 
正则表达式  
"d{n}" n为规定长度 
"d{n,m}" n到m的长度范围

非法字符验证 
匹配非法字符如:< > & / ' |  
正则表达式 [^<>&/|'\]+

日期验证 
匹配形式如:20030718,030718 
范围:1900--2099 
正则表达式((((19){1}|(20){1})d{2})|d{2})[01]{1}d{1}[0-3]{1}d{1}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值