一、常用正则规则

规则

含义

\d

[0-9],数字

\D

[^0-9],除了数字以外任何字符

\w

[0-9a-zA-Z_],数字字母下划线

\W

[^0-9a-zA-Z_],排除数字字母下划线的任何字符

\s

[\t\v\n\r\f],空白符号(包括空格、水平制表符、垂直制表符、换行符号、回车等)

\S

非空白符

i

不区分大小写模式

g

全局匹配模式

m

多行匹配模式

u

宽字符模式(多用汉字匹配)

s

或略换行符(多行视为一个整体)

.

非“\n”(换行符)以外的所有字符

[\u4e00-\u9af5]

匹配汉字

^

开始

$

结束

\b

单词边界

\B

非单词边界



宽字符相关


/\p{L}/gu

宽字符标点

\p{N}/gu

宽字符数字

/\p{sc=Han}/gu

汉字

原子组相关


(?:\w)

不记录分组

(?<dian>\.)

原子组别名

$符的使用


$`(匹配内容前)            $’(匹配内容后)               $&(匹配内容)


断言


/后盾人(?=img)/、/后盾人(?!img)/

前断言

(?<=我是后盾人)、(?<!我是后盾人)

后断言

/(?<!.*good.*)人人/

全局断言

/\d+?/

惰性匹配(+后面的?)默认是非惰性的

二、常用正则方法

需要转意的符号:点号.   小括号().  中括号[]     左右斜杠\/  竖|

函数

说明

string.matchAll(reg);

返回迭代器

reg.lastIndex

正则对象的迭代属性

reg.exec(string)

正则对象的匹配方法

string.serch(reg);

类似indexof方法

string.replace(reg, serch=> {…});


string.macth(reg);