声明
语法
/正则表达式/修饰符
例:不区分大小写查找yma16
let patter=/yma16/i
修饰符和模式
修饰符
修饰符 | 作用 |
---|---|
i | 不区分大小写 |
g | 全局匹配 |
m | 执行多行匹配 |
模式
表达式 | 作用 |
---|---|
[abc] | 查找其中的字符 |
[0-9] | 0-9的数字查找 |
元字符
元字符 | 作用 |
---|---|
\d | 查找数字 |
\s | 查找空白字符串 |
\b | 匹配单词边界 |
\uxxx | 16进制数xxx的unicode字符 |
量词
量词 | 作用 |
---|---|
n+ | 至少1个n的字符串 |
n* | 0个或则多个n的字符串 |
n? | 0个或则1个n的字符串 |
search
search的参数可以接收正则表达式和字符串。
作用:找出索引位置下标,返回位置下标(从0开始),返回第一个匹配成功的位置下标
例:不区分大小写查找yma16
let s="yma16fdsffdsf"
console.log(s.search(/YMA16/i))
正则匹配查找
字符串查找
多个重复匹配的情况,左到右找到就停止不会继续查找
使用g全局匹配也是第一个匹配的位置下标
replace
字符串的方法
替换方法,接收正则表达式和需要替换的字符串
例:把全部的yma
替换为yma16
let s="yma have yma,we have yma"
s.replace(/yma*/g,'yma16')
test
正则表达式的方法
返回true、false
例:判断是否有yma16
let flag=/yma16/g
let s="yma have yma,we have yma"
flag.test(s)
exec
正则表达式的方法
指定模式搜索字符串,返回已找到的文本或null
例:查找yma并且返回,查找yma16并且返回
let flag1=/yma/g
let flag2=/yma16/g
let s="yma have yma,we have yma"
flag1.exec(s)
flag2.exec(s)
找到返回查找字符和index位置(就近匹配)
没有则返回null