正则符号的使用

特殊符号

^ 匹配一行的开头,/^a/匹配"abc",而不匹配“bca“
$ 匹配一行的结尾,/a$/匹配“bca",而不匹配"abc"
. 匹配单个字符,除了换行和行结束符,等价于[^\n]

  • 匹配前面元字符0次或多次,/ba*/将匹配b,ba,baa,baaa
  • 匹配前面元字符1次或多次,/ba+/将匹配ba,baa,baaa
    ? 匹配前面元字符0次或1次,/ba?/将匹配b,ba
    x|y 匹配x或y ,/a|b/ 将匹配只要出现a或者b的字符串,不含a与b的不匹配
    {n} 精确匹配n次 ,/d{4}/ 将匹配,出现连续4个d的字符串
    {n,} 匹配n次以上 ,/d{4,}/将匹配,出现连续4个及其以上多个d的字符串
    {n,m} 匹配n-m次,/d{4,6}/将匹配,出现连续4到6个d的字符串
    [xyz] 匹配这个集合中的任一一个字符,如:[a-z] 表示小写a到小写z范围的字符。
    [^xyz] 不匹配这个集合的任何一个字符 ,同样可以写范围,如:[^a-z]
    (red|blue|green) 将一些正则匹配规则合成一个小组。
    \d 匹配一个数字字符,/\d/ 等价于 /[0-9]/
    \D 匹配一个非数字字符,/\D/ 等价于 /[^0-9]/
    \w 匹配一个可以组成单词(变量)的字符(包括字母,数字,下划线)等价于[a-zA-Z0-9_]
    \W 匹配一个不可以组成单词的字符
    \n 匹配一个换行符
    \f 匹配换页符。
    \r 匹配一个回车符
    \t 匹配一个制表符
    \v 匹配一个重直制表符
    \s 匹配一个空白字符,包括\n,\r,\f,\t,\v等
    \S 匹配一个非空白字符,等于/[^\n\f\r\t\v]/
    \b 匹配一个单词的边界 (单词是以空格分割的)
    \B 匹配一个单词的非边界
    \0 匹配NUL 字符。
    \ddd 匹配以八进制数 ddd 规定的字符。 Ru:var reg = /\141/; 等价于 var reg = /a/;
    \xdd 匹配以十六进制数 dd 规定的字符。
    \uxxxx 匹配以十六进制数 xxxx 规定的 Unicode 字符。

量词

c{n} 匹配包含 n 个 c 的序列的字符串。
c{m,n} 匹配包含 m 到 n 个 c 的序列的字符串。
c{n,} 匹配包含至少 n 个 c 的序列的字符串。
c+ 匹配任何包含至少一个 c 的字符串,等价于c{1,} 。
c* 匹配任何包含零个或多个 c 的字符串,等价于c{0,}
c? 匹配任何包含零个或一个 c 的字符串,等价于 c{0, 1}
c$ 匹配任何结尾为 c 的字符串。
^c 匹配任何开头为 c 的字符串。
?=c 匹配任何其后紧接指定字符串 c 的字符串。
对其后紧跟 "all" 的 "is" 进行全局搜索.
var str="Is this all there is"; var patt1=/is(?= all)/g;
对其后没有紧跟 "all" 的 "is" 进行全局搜索:
; var patt1=/is(?! all)/gi;
?!c 匹配任何其后没有紧接指定字符串 c 的字符串。

posted @ 2020-10-12 19:40  seekHelp  阅读(157)  评论(0编辑  收藏  举报