字母、数字、汉字、下划线、以及没有特殊定义的标点符号,都是普通字符。正则表达式中的普通字符,在匹配一个字符串的时候,匹配与之相同的一个字符
正则表达式在不同语言的支持方法略有不同,但总的正则语法是差不多的。
默认是区分大小写的

普通匹配符

能够匹配与之对应的一个字符

i、g、m 称为正则标记符(参数)

  • i 表示不区分大小写
  • g 全局匹配
  • m 多行匹配

示例:

var str = "Hello Java Hello java";
var r = str.match(/java/gi);

上面的例子中,java 表示在str字符串中匹配包含java的字符,g 表示全局匹配 i 表示忽略大小写,最后的匹配结果就是Java java两个忽略大小写的java字符。

匹配多个字符中的其中一个匹配符

  • \d 匹配数字0-9
  • \w 匹配字母、数字、下划线
  • . 匹配除换行的所有字符
    \d\w. 都只能匹配一个字符

示例:

var str = "hello 2016";
var r = str.match(/\w.\d/g);

示例中,\w.\d 可以连续匹配三个字符,在hello 2016从左往右依次匹配:
he满足\w.的匹配,l不满足\d的匹配;
在匹配失败的第三个字符l开始匹配,ll满足\w.的匹配,o不满足\d的匹配;
在匹配失败的第五个字符o重新开始匹配,o 2满足\w.\d的匹配,剩下的016也满足匹配条件。
所以最后的匹配结果是 o 2、016。

简单的转义符

表达式

含义

\n

代表换行符

\t

制表符

\

代表\本身

\^,\$,\(, \),\{,\},\?,\+,\*

代表这些符号本身

标准字符集合

  • 能够与 ‘多种字符’ 匹配的表达式
  • 注意区分大小写,大写是相反的意思

表达式

含义

\d

任意一个数字,0~9中的任意一个

\w

任意一个字母或下划线,也就A~Z,a~z,0~9,_中任意一个

\s

包括空格、制表符、换行符等空白字符的其中任意一个

.

小数点可以匹配除换行符以外的任意一个字符,如果要匹配包括\n在内的所有字符,一般用[\s\S]

自定义字符集合

方括号匹配方式,能够匹配方括号中任意一个字符。

表达式

含义

[ab5@]

匹配ab5@

[^abc]

匹配a,b,c 之外的任意一个字符

[f-k]

匹配f~k之间的任意一个字母

[^A-F0-3]

匹配A~F,0~3之外的任意一个字符