重温正则表达式,转义字符的自我剖析

首先咔给乡亲们推荐一波gitlab正则表达式学习网址,学习正则表达式的简单方法,这是在github两万多星的项目,不是内容很高深,而是很通俗易懂,很实用,里面附带正则验算网站

下面说说我的新的体会

元字符都不难理解,唯手熟尔,然后我一直曾经一直不甚明白的一个就是转义字符 \ ,转义转义,转换含义,网上很多教程一些博客都比较官方或者一带而过,我必须站出来伸张正义了,

首先,转义字符转的是谁,字符还是数字还是文字,转义字符不是转数字也不是转文字,转的是特殊字符

不要嫌啰嗦,只是为了以后回顾能更顺畅

什么是特殊字符,特殊字符就是有特殊含义的字符,特殊含义的字符?啥,比如,,,上面的元字符,

 

?匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。
*匹配前面的子表达式零次或多次
+匹配前面的子表达式一次或多次

 显然特殊字符就是这个字符在正则表达式中比如     ?在    /[T]?he/   中代表 T这个字符出现最多一次,这是 ?的特殊含义,

(注意:是正则表达式,认准正则老字号,为什么,咱们这转义符元字符就是正则表达式里的东西,离开了正则那还搞毛)

上面的元字符都有特殊含义,所以我们可以归类为特殊字符

咋们回到转义字符,问题来了,转义字符怎么用,应用场景是什么,假设你有这种情况,

var  reg = 'The fat cat sa?t on the mat.'

在上面的字符串中,我想匹配reg中的   sa?  ,咋整呢 ,我直接咔  reg.match(/sa?/),  显然是没有我想要的结果,,这个?号在这里并不是按照我所想的作为一个字符去解析的,而是根据它(?)元字符的特殊含义去解析的。然而我想让它简简单单得作为一个字符去解析,安分地当一个字符问号  "?" ,这时候就用到转义字符了,转换掉特殊字符本身的特殊含义,就是让它打回原形,本身该是啥字符就啥字符,别来虚的,喀换成了  sa\?   


 

接下来说说简写字符吧,这里大家都容易理解,我的问题是,太容易忘记了,于是找到原名记它一波

简写怎么记住描述
. 匹配除换行符以外的任意字符
\wword(字符)匹配所有字母和数字的字符: [a-zA-Z0-9_]
\W 匹配非字母和数字的字符: [^\w]
\ddigit(复数)匹配数字: [0-9]
\D 匹配非数字: [^\d]
\sspace(空格)匹配空格符: [\t\n\f\r\p{Z}]
\S 匹配非空格符: [^\s]

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值