正则表达式(Regular Expression/regex/regexp/RE)是使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式
语法
/正则表达式主体/修饰符(可选)
正则表达式通常用于两个字符串方法:search()和replace()
比如:
str.search(/a/i)
代表在str中搜索a,且不区分大小写
正则表达式修饰符
i:执行对大小写不敏感的匹配
g:执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)
m:执行多行匹配
正则表达式模式
方括号用于查找某个范围内的字符
[abc]:查找a/b/c
[0-9]:查找任何从0到9的数字
(x|y):查找x/y
元字符
\d 查找数字
\s 查找空白字符
\b 匹配单词边界
\uxxxx 查找以十六进制数xxxx规定的Unicode字符
量词
n+ 匹配任何包含至少一个n的字符串
n* 匹配任何包含零个或多个n的字符串
n? 匹配任何包含零个或一个n的字符串
RegExp对象是一个预定义了属性和方法的正则表达式对象
test()方法
用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回true,否则返回false
比如:
var pattern = /v/; pattern.test("The sea has banks, my love is boundless");
exec()方法
用于检索字符串中的正则表达式的匹配,该函数返回一个数组,其中存放匹配的结果,如果未找到匹配,则返回值为null