1在线工具:https://regexper.com/
\d数字 {4}数量 [ ]或者 ^结尾 $结尾 ()分组$1,2,3代表小括号分出的组 \b单词边界 / /本义
2.regexp对象
字面量
var reg=/ \bis\b / g 全局 / /代表定义一个正则表达式a.replace(reg,'IS')
构造函数
var reg=new RegExp('\bis\b','g') //承受俩参数,1.字符串 正则表达式的文本 2.字符串'g' 'i'
疏忽大小写 'm'多行搜寻
3元字符
原意文本字符
abc123
元字符(是在正则表达式中有非凡含意的非字母字符)
*+?$^.|(){}[]
\b匹配一个单词边界
\程度制表符 \v垂直制表符 \r回车符 \0空字符 \f换页符 \cX与X对应的控制字符
字符类取反^
1不是字符a或b或c的内容
范畴类 -闭区间 间断字符
[a-zA-Z]a-z的任意字符
预约义类
.除了回车换行外的所有字符
\d数字字符
\D 非数字字符
\s空白符
\S非空白符
\w单词字符
罕用的边界匹配字符
^以...开始
$以...完结
\b \B单词边界 非单词边界
量词
?呈现0次或1次(最多一次)
+至多要呈现一次
*呈现任意次
{n}呈现n次
{n,m}呈现 n次到m次
{n,}至多呈现n次
贪心模式
尽可能多的匹配 /\d{3,6}/g/按6匹配
'123456789'.match(/\d(3,5)?/g/)非贪心模式 ['123','456','789']
分组
()(aaa){3}
或
|(/by(on|ca)sper)/)
反向援用
$ eg:a.replace(/(\d{4})-(\d{2})-(\d{2})/g,'$2/$3/$1')
疏忽分组
不心愿捕捉某些分组 只须要在分组内加上?:就能够
(?:Byron).(ok)
前瞻
合乎和不合乎特定断言称为必定/正向匹配和否定/负向匹配
前瞻 (?=) (?!)
js不反对后顾.replace(/\w(?=\d)/g,X)断言不参加匹配内容
对象属性
igm
lastIndex下一次搜寻的开始地位 上次匹配的后果的最初一个字符的下一个
source正则表达式的文本字符串(文本内容局部)
test办法
正则表达式在调用时 会扭转lastindex
exec(str)办法
非全局调用:
返回数组
lastindex不失效 匹配文本最初一个字母的下一位下标
ret=reg3.exec(ts)
ret.index 匹配后果从字符串的第几位开始的
ret 0:与正则相匹配的文本
1:合乎第一个分组的内容
字符串对象的办法
.search() 返回1或者-1.search(1).match(reg)找和正则相匹配的文本 返回数组.index .input.split(,/reg).replace(reg,rstr).replace(reg,func)
fuc含意
1.匹配的字符串,match
2.正则表达式分组的内容
3.匹配项在字符串中的index
4.原字符串origin
'a1b2c3d4e5'.replace(/\d/g,function(match){return parseInt(match)+1})
- abc ↩