正则表达式总结

正则表达式:模式匹配、文本检索与替换

作用:-数据有效性验证

        -替换

        -检索

在Js中的语法:    var reg=/pattern/[flags]     或      var reg=new RegExp("pattern",["flags"])

       Flags:可选项:-g  (全文查找出现的所有pattern)

                           -i   (忽略大小写)

                           -m  (多行查找)

       pattern=字符+元字符

(1)元字符:

      1.^:匹配字符串(一个输入或一行)的开头,比如:/^c/匹配"cat",而不匹配"Cat"

      2.$:匹配字符串(一个输入或一行)的结尾,比如:/c$/,匹配music

(2)字符类:

      1.\w:匹配一个字符,含数字,等价于[a-zA-Z0-9]

      2.\W:匹配不是一个字符,等价于[^a-zA-Z0-9]

      3.\d:匹配一个数字,等价于[0-9]

      4.\D:匹配不是一个数字,等价于[^0-9]

(3)其他符号总结:

      \      (1)作为转意,即通常在"\"后面的字符不按原来的意义解释,如/b/匹配字符“b”,当b前面加了反斜杠后/\b/,转意为匹配一个单词的边界

             (2)对正则表达式功能字符的还原,如"*"匹配它前面元字符0次或多次,/a*/将匹配a,aa,aaa,加了"\"后,/a\*/将只匹配"a*"

     *      匹配前面元字符0次或多次,/ba*/将匹配b,ba,baa,baaa

     +      匹配前面元字符1次或多次,/ba+/将匹配ba,baa,baaa

     ?      匹配前面元字符0次或1次,/ba?/将匹配b,ba

     (x)   匹配x保存x在名为$1……$9的变量中

     x|y   匹配x或y

     {n}  精确匹配n次

     {n,} 匹配n次以上

  {n,m}  匹配n-m次

   [xyz]  字符集(character set),匹配这个集合中的任一一个字符(或元字符) 

  [^xyz] 不匹配这个集合中的任何一个字符

    [\b]   匹配一个退格符

     \b    匹配一个单词的边界

     \B    匹配一个单词的非边界

    \cX   X是一个控制符,/cM/匹配Ctrl-M

    \n     匹配一个换行符

     \r     匹配一个回车符

    \s     匹配一个空白字符,包括\n,\r,\f,\t,\v等

    \S     匹配一个非空白字符,等于/[^\n\f\r\t\v]/

     \t     匹配一个制表符

     \v     匹配一个重直制表符

     \w    匹配一个可以组成单词的字符,含数字,包括下划线,如[\w]匹配"$5.98"中的5,等于[a-zA-Z0-9]

     \W   匹配一个不可以组成单词的字符,如[\W]匹配"$5.98"中的$,等于[^a-zA-Z0-9]

 

实例:     /\d{2,4}/                    出现2-4个数字

             /\w{3}\d?/                  出现3个字符、0-1个数字

             /\s+java\s+/                出现至少一个空白字符、java、以至少一个空白字符为结尾

             /[^(]*/                        ?           

             /ab|cd|ef/                    匹配ab或者cd或者ef

             /\d{3}|[a-z]{4}/          出现3个数字或者出现4个小写的字母 

             /[a-z]+\d+/                 出现小写字母一次或多次、出现数字一次或多次   

             /^(\w){6,20}$/           以字符开头、以字符结尾的6-20个字符

     

             未完待续,欢迎纠错和补充,谢谢~

     

 

转载于:https://www.cnblogs.com/sandyclaire1990/p/4524766.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值