正则学习--知识点

符号

. 任意字符

s 空格符

S 非空格符

d 数字

D 非数字

w 数字,字母,_

W 非数字,字母,_

 

[] 原子表,匹配其中的任意一个字符,在[]任何字符只带有自己符号意思

() 原子组 可以简便写法,并且是整体检验,不同于原子表,原子组匹配的内容会显示在matchAll中

(?<name>)原子组别名,通过?<name>给当前院子组取别名name

{} 量词 代表数量

+ 1个或多个

? 0个或1个

*任意个

^ 头部

$ 尾部

[^] 非

\ 转义符

 

i 不区分大小写

g 全局

s 不区分换行符

 

$& 匹配本身 存在于””中

$` 匹配内容给的前面部分   存在于””中

$’ 匹配内容后面部分   存在于””中

 

 

?=   断言匹配 等于 可以理解为正则匹配的条件语句只有符号才会匹配上,正则上写入/?=’条件’/

?!断言匹配 不等于

?<= 前面等于

?<! 前面不等于

 

lastIndex 正则拥有的对应位置符号

原子表的内容会被缓存,通过\1\2\3\4来共同使用,而且可以通过$1,$2,..等来访问,如何识别呢,从左往右数(这个符号,按顺序编成1,2,3等 ?:这俩个符号可以清楚组,也就是不记录组

 

量词后面跟着?会产生禁止贪婪模式,一般的量词都会贪婪选择,比如

121111  /[1-9]+/ 这个就会返回121111,结果是往最大方向走,而如果/[1-9]+?/ 就只会返回1(禁止贪婪)

禁止贪婪使用场景,比如嵌套的标签中会因为标签相似过多导致匹配出现错误,所以使用禁止贪婪能够解决针对最少匹配情况

 

技巧:

可以通过将不同的正则规则放入一个数组中,在全部对输入值进行正则匹配,若全部true则为true,否则false

 

String.Match 可以打印出多个匹配的情况,或者单个的具体情况

String.MatchAll 可以返回一个每个匹配到的情况的具体匹配情况的迭代器interator

String.search 同样可以使用正则

 

Exec 必须配合全局符号 g来使用,否则lastindex永远都是第一个匹配的Index,不会改变

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值