正则表达式学习日志

来源:互联网 发布:淘宝客广告海报 编辑:程序博客网 时间:2024/05/01 00:55

正则表达式:

就是利用子表达式进行拼接的一串格式序列.

 

1. [a-zA-Z0-9]是字符数数组,表示在字符集内的任一匹配的字符.

    注意:[./_?*] 在字符数组中不再是元数组,而是代表普通的字符(. _ / ? *)

              [^] 代表 []的补集合

              [123]  = (1|2|3) ,其中 | 代表或操作 

              [ae]  = (a|e) ,两者的区别在与[ae]是匹配a,e中任意的一个字符,但是(a|e)代表a或者e的其中一个,如果是(ap|ae)则是匹配ap或ae中的一个

 

2.  元字符(特殊字符)列表(\ + 普通字符 组合成为有特殊功能的字符串)

    \   转义字符将下一个字符标记为一个特殊字符、或一个原义字符、或一个后向引用、或一个八进制转义符

    ^   放在regx开头,代表语句的开始,在字符组中代表 "非"的含义

    $ 匹配输入字符串的结束位置。如果设置了 RegExp 对象的Multiline 属性,$ 也匹配 ’\n’ 或 ’\r’ 之前的位置

    \w 匹配包括下划线的任何单词字符,等价于 [A-Za-z0-9_]

    \W 匹配非英文大小写字母与阿拉伯数字以及_下划线的特殊字符

    \b 匹配所有的边界

    \B 匹配非边界

    \d 匹配所有的十进制的数字,等价于 [0-9]

    \D 匹配一个非数字字符。等价于 [^0-9]

 

    \f 匹配一个换页符,等价于   \x0c 和 \cL

    \n 匹配一个换行符,等价于 \x0a 和 \cJ

    \r 匹配一个回车符,等价于 \x0d 和 \cM

    \t 匹配一个TAB符,等价于   \x09 和 \cI

    \s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]

 

3.  元字符(重复字符)列表

    *   匹配前面的子表达式0次或n次  = {0,}
    ? 匹配前面的子表达式0次或1次 = {0,1}

    +  匹配前面的子表达式1次或n次  = {1,}

    {m,n} 匹配前面的子表达式至少m次,最多n次

 

4.  通用的匹配模式示例

     匹配空行的正则表达式:\n[\s| ]*\r
     匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/
     匹配首尾空格的正则表达式:(^\s*)|(\s*$)
     匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
     匹配网址URL的正则表达式:^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$
     匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
     匹配国内电话号码:(\d{3}-|\d{4}-)?(\d{8}|\d{7})?
     匹配腾讯QQ号:^[1-9]*[1-9][0-9]*$

原创粉丝点击