记录_js正则表达式

82 阅读2分钟

正则表达式regex

声明

语法

/正则表达式/修饰符

例:不区分大小写查找yma16

let patter=/yma16/i

修饰符和模式

修饰符

修饰符作用
i不区分大小写
g全局匹配
m执行多行匹配

模式

表达式作用
[abc]查找其中的字符
[0-9]0-9的数字查找
(|)查找以|为分隔的选项

元字符

元字符作用
\d查找数字
\s查找空白字符串
\b匹配单词边界
\uxxx16进制数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
在这里插入图片描述