目录
竖杠|表示 或 的意思
找到hello中的所有e和o


括号表示分组的意思,学名叫原子组,我们先看个例子
如果没分组的话就是 010 或 020\-\d{7,9}


如果加了分组就是在字符串中 含有010或020,然后后面接一个横杠然后接7-9个数字

这样就是false了

我们用\数字可以替代第几个括号

这样就可以匹配到上面的三个标题标签了
![]()
如果不进行全局搜索,结果会包含括号中的内容


在部分方法中也可以用$数字来代表第几组括号,比如下面把所有的h标签替换成p标签


如果使用函数可以传递自定义参数,自定义参数依次就是这些
![]()
第一个是完全找到的字符,之后是括号中的字符,之后是索引,然后是输入内容


我没有给返回值所以页面上显示的是undefined
给返回值就好了


会出现括号套括号的情况,你的索引情况是,外层的括号在前面,内层的括号在后面,比如下面这种情况就是 红括号索引<绿括号索引<蓝括号索引

可以在括号内的最前部加上?: 表示不记录哪一组




但是在这个例子中不可以不记录第一组


?<名称>命名,$<名称>调用

这样就会将匹配的内容换成第二个l

如果使用match方法会在结果中的group属性看到命名的组


中括号内无论写多少内容都代表一个字符,中括号内所有字符呈 或 的关系
下面这个例子是在 192695348 找到 123456 中的任何一个字符


中括号中的特殊字符只表示其本身的意思
![]()

横杠表示跨度,横杠常于中括号配合,比如[A-Z]就是大写字母,[0-9]就是所有数字


如果要匹配数字或小写字母可以这样写 [0-9a-z]
点可以代表除换行外的任意字符


加号可以表示加号前的一个字符重复一次或多次
我们把l+看做一个整体


星号可以表示星号前的一个字符重复0次或多次
我们把3*看做一个整体


尖号表示以下一个字符为开始的字符
如果不加尖号就是查询字符串中有没有123


如果加了尖号则代表必须以123开头,结果才能为true


如果尖号在中括号中是取非的意思,下面这个例子就是除了123的所有字符


在中括号内如果加上尖号表示取反
如果不加尖号表示找到所有的l,如果加上尖号表示找到除了l的所有字符


$符号表示必须以$前的字符结尾

![]()
如果123不在结尾就会返回false


用$`来代替匹配内容前面的内容,$'来替代匹配内容后面的内容,\$&来匹配内容本身的内容
匹配到第一个l,将第一个l替换为 $&(本身)+哈哈哈


匹配到第一个l,将第一个l替换为$`(第一个l之前的内容,也就是he)+哈哈哈


匹配到第一个l,将第一个l替换为$'(第一个l之后的内容,也就是lo)+哈哈哈


大括号表示后面跟几个上一个类型的
比如下面检测字符串中,字符b到字符末尾,是否只存在3-5个数字


如果多加了几个数字就为false


大括号一般不在最后写,如果在最后写就表明字符b的后面有没有3-5个数字,如果数字比5个多也会判断为true


如果比3个少就是false了


可以不给逗号及逗号后面值,让其匹配固定个数


如果使用match会按照你给的最大数量进行匹配,在下面这个例子中并不会只匹配一个就停止


逗号后面可以不给值,不给值在这个例子中就表示一个到无数个


问号表示前面的字符可以有也可以没有(0个或1个)
比如我现在有两个url,一个是http协议,一个是https协议,这两种协议我们都能接收,所以就可以这样写


默认情况下会尽可能多的进行匹配
![]()
就是你写3到6个,它会给你匹配6个而不是匹配3个
![]()
在表示范围的后面加一个问号就只会匹配3个而不是匹配6个

![]()
除了大括号,星号,加号这种表示数量的符号加上问号后都会尽可能少的匹配
右斜杠代表转义字符
比如我想找到(1234)中的括号,这个时候就得在括号前加一个右斜杠


\d代表数字


\D代表除了数字以外的所有字符


用\s表示空白。空格,制表符,换行符都算是空白
123后面我敲了一个tab,345后面我敲了两个空格


用\S表示除了空白以外的所有字符。空格,制表符,换行符都算是空白


用\w表示字母,数字,下划线


用\W表示除了字母,数字,下划线的所有字符


匹配的模式可以混着用,也可以单独用
现在我们想找到字符串里的所有数字,那么像下面这样写就只会找到第一个数字


在正则的内容最后加上g可以进行全局搜索

这样就可以找到所有要找的字符了

如果不添加i只能找到指定的字符


如果添加了i就是不区分大小写


点是不能匹配换行符的,使用单行模式就会将换行符当成一个普通的字符进行匹配


我做个例子


这里面要替换的只有大括号中的L,具体换成什么可以参考这个 正则表达式系列之 —— Unicode:修饰符 "u" 和类 \p{...}_LeviDing的博客-CSDN博客
有几个常用的


还有就是宽字符的时候需要用到u


我们现在想找到l后紧跟一个d的l


我们想找到hello world中前面是r的l


我们现在想找到后面不是空格的o字符


我们现在找前面不是l的o

