正则表达式的简单知识

正则表达式

  1. 正则.test(字符串)
    成功返回true,失败返回false,可用于if()条件判断。

  2. 正则.exec(字符串)

  3. 字符串.match(正则)
    Str.match(reg),匹配成功会返回匹配成的数组,否则返回null。

  4. 字符串.search(正则)
    匹配成功返回匹配成功的位置(即字符的下标),失败则返回-1。

  5. 字符串.replace(正则)
    Str.replace(reg, “字符串”| 回调函数function(参数1[参数2,,,,])),回调函数的参数1就是匹配成功的字符。str.replace(re,function($0,$1){ //$0代表整体,$1代表第一个子项
    在这里插入图片描述

字符
^ 匹配一个输入或一行的开头
. 表示除了换行符以外的任意字符,等价于[ ^\n]
$ 匹配一行的结尾
{n, m} 匹配前一项至少n次,但是不能超过m次
{n, } 匹配前一项n次,或者多次
{n} 匹配前一项恰好n次

*:表示匹配0个或多个字符。等价于{0,}
+:表示匹配1个或1个以上的字符.等价于{1,}
. :表示任意字符。(若需要表示单纯的. 则要用. )。
?:表示匹配前一项0或1次。,也就是说前一项是可选的. 等价于 {0, 1}

\d 匹配一个字数字符,/\d/ = /[0-9]/
\D 匹配一个非字数字符,/\D/ = /[ ^0-9]/

\w 匹配一个可以组成单词的字符(alphanumeric,这是我的意译,含数字),包括下划线,如[\w]匹配"$5.98"中的5,等于[a-zA-Z0-9]
\W 匹配一个不可以组成单词的字符,如[\W]匹配"$5.98"中的$,等于[ ^a-zA-Z0-9]。

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

\s:表示匹配一个空白字符 ,包括\n,\r,\f,\t,\v等
\S:表示匹配一个非空白字符.等于/[ ^\n\f\r\t\v]/
Eg:/\s+java\s+/ //匹配字符串"java" ,并且该串前后可以有一个或多个空格
\ 数字: 重复子项(如\1:重复的第一个子项,\2:重复的第二个子项…)
如:var reg = /(\w)\1+/g \1表示重复的字符如bbb,nn类似的

在这里插入图片描述在这里插入图片描述

标记
a) i 执行大小写不敏感的匹配
b) g 执行一个全局的匹配,简而言之,就是找到所有的匹配,而不是在找到第一个之后就停止了。
c) M 表示多行搜索。

猜你喜欢

转载自blog.csdn.net/Qian_mos/article/details/85033505