正则表达式

Posted 2312947032zyk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式相关的知识,希望对你有一定的参考价值。

正则表达式组成元素:

. 匹配除换行符以外的任意单个字符                                
*         匹配位于*之前的字符或者子模式的0次或者多次出现
+ 匹配位于+之前的字符或者子模式的1次或者多次出现
匹配位于?之前的0个或者一个字符
- 在[]之内用来表示范围
| 匹配位于|之前或之后的字符
^ 匹配行首,匹配以^后面的字符开头的字符串
$ 匹配行尾,匹配以$后面的字符开头的字符串
表示位于之后为转义字符
f 换页符匹配 换行符匹配 匹配回车符
 匹配单词头或单词尾,B和他含义相反
d 匹配任何数字相当于[0-9],D含义相反
s 匹配任何话空白字符,包括空格制表符 换页符
w 匹配 任何字母 数字以及下划线相当于[a-zA-Z0-9]
() 将位于()看作一个整体来对待
{m,n} {}前的字符或子模式重复至少m次,至多n次
[] 表示范围,匹配位于[]中的任意一个字符
[^a-z] 反向范围字符,匹配出小写英文字母之外的任意字符

javascript进行测试训练:

 输入的内容带不带小数点

 1     function  isTrue(strValue )  {
 2              var  reg= /^d+.d+$/ 
 3              if(reg.test(strValue)){
 4                   alert("验证通过")
 5              }else{
 6                  alert("验证失败")
 7                  return
 8              }
 9           }
10      function check() {
11          var regvalue=document.getElementById("reg").value
12          isTrue(regvalue)
13     }

在isture()方法中定义的reg就是正则表达式:/^表示匹配正则的开始,$/表示匹配正则的结束,d表示匹配0-9的数字,.前面的表示为转义,因为.在正则表达式中有特定含义,所以要转义,+表示数字最少出现一次。

输入为邮箱

      function  isTrue(strValue )  {
        	 var reg=/^[email protected][a-zA-Z0-9]{2,10}(.[a-z]{2,4}){1,3}$/ 
             if(reg.test(strValue)){
                  alert("验证通过")
             }else{
                 alert("验证失败")
                 return
             }
          }
     function check() {
         var regvalue=document.getElementById("reg").value
         isTrue(regvalue)
    }

 在isture()方法中定义的reg就是正则表达式:/^表示匹配正则的开始,$/表示匹配正则的结束,w+表示@符号之前可以出现1次或者多次的字母、数字、下划线等,@符号后面紧跟着是类似于qq、163、sina等,所以用[a-zA-Z0-9]{2,10}表示可以出现字母、数字2到10次,.表示转义.,.后面小写字母a~z可以出现2到4次。

常用的正则表达式有:

  • 是否带有小数:reg= /^d+.d+$/
  • 是否由2~4长度的中文名称组成:reg=/^[u4E00-u9FA5]{2,4}$/
  • 校验是否全由8位数字组成:reg=/^[0-9]{8}$/
  • 校验电话码格式:reg= /^((0d{2,3}-d{7,8})|(1[3584]d{9}))$/
  • 校验邮件地址是否合法:reg=/^[email protected][a-zA-Z0-9]{2,10}(?:.[a-z]{2,4}){1,3}$/ ,也可以写成reg =‘^[email protected](w+.)+w+$‘
  • 检查给定字符串是否为合法身份证格式:reg=‘^d{18}|d{15}$‘
  • 检查给定字符串是否为移动手机号码:reg=‘^(13[4-9]d{8})|(15[01289]d{8})$‘‘
  • 密码:匹配长度为5-20,必须以字母开头包含数字、“_”、“.”的字符:reg=‘^[a-zA-Z]{1}([a-zA-Z0-9._]){4,19}$‘
  • 昵称:匹配长度为6-20的字符串,可以包含字母、数字、下划线:reg=‘^(w){6,20}$‘
  • ip地址:检查给定字符串是否为合法IP地址:reg=‘^d{1,3}.d{1,3}.d{1,3}.d{1,3}$‘

以上是关于正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

markdown 正则表达式模式片段

正则表达式匹配特定的 URL 片段而不是所有其他 URL 可能性

循环通过 python 正则表达式匹配

asp.net 使用正则表达式验证包含打开/关闭括号片段的属性字符串

攻破难啃的骨头-正则表达式(转)

正则表达式的贪婪和非贪婪模式