1.正则表达式的创建
字面量(直接量)
var reg = /正则表达式/修饰符
var reg = /hello/g
构造函数
var reg = new RegExp('正则表达式',‘修饰符’)
var reg = new RegExp("hello","g")
2.字符分类
普通字符
字母、数字、下划线、汉字、没有特殊含义的符号(,;!@等)
特殊字符
\:将特殊字符转义成普通字符
模式修饰符
i:ignoreCase,匹配时忽视大小写
m:multiline,多行匹配
g:global,全局匹配
字面量创建正则时,模式修饰符写在一对反斜线后
3.正则表达式实例方法
exec:匹配字符串中符合正则表达式的字符串
如果匹配到,返回值是一个result数组
test:用来测试待检测的字符串中是否有可以匹配到正则表达式的字符串,如果有返回true,否则返回false
-
toString/toLocaleString
把正则表达式的内容转化成字面量形式字符串/有本地特色的字符串(JS中没效果)
-
valueOf
返回正则表达式本身
字符类
. :匹配除了换行符\n和回车符之外的任何单个字符,等效于【^\n\r】
\d :匹配一个数字字符,等效于[0-9]
\D:[^0-9]
\w: 匹配包括下划线的任意单个字符,包括A-Z,a-z,0-9和下划线,等效于[A-Za-z0-9]
\s :匹配任何Unicode空白字符,包括空格、制表符、换页符等,等效于[\f\t\n\r]
\S: [^\f\t\n\r]
数量词:
*: >=0次
+:>=1次
?: 0次或1次
{n}: n次
{n,} >=n次
{n,m} n到m次
String对正则表达式的支持
search:查找字符串中是否有匹配正则的字符串,有则返回字符串第一次出现时的位置,无则返回null 正则中无论是否有全局匹配都不会影响返回结果.
match:
匹配字符串中符合正则表达式的字符串,并返回该字符串的一个数组,其中包括字符串内容、位置
如果正则设置全局匹配,则一次性返回所有符合正则表达式的字符串数组
如果其中添加了分组,返回符合要求的字符串以及分组的一个数组,但如果同时开启全局匹配则不会在数组中添
split: 满足正则表达式条件的内容将被替换