首页 > 代码库 > 转义的相关学习记录
转义的相关学习记录
学习编程语言的时候,经常碰到需要对字符转义的情况,有时候自己会把一些知识点搞混,特以此文记录,持续更新。
先看一个小例子,要写一个正则匹配像‘010-12345‘这样的电话号码,由于‘-‘是特殊字符,在正则表达式中,要用‘\‘转义,所以,上面的正则是\d{3}\-\d{3,8}。如果不用‘\‘转义,则‘-‘就成正则里范围的意思。
以上这个小例子讲了为什么要转义。
另外,js里的字符串也有一些需要转义的字符字面量,详见高程33页。平时用的比较多的是对‘\\‘ ,‘\‘‘ ,‘\‘‘‘以及‘\unnnn‘。以下两个正则表达式是一样的,
var re1 = /ABC\-001/;
var re2 = new RegExp(‘ABC\\-001‘);
通过new RegExp创建的正则因为变量是字符串,所以需要先对\进行一次转义,若不先对\进行一次转义,写成new RegExp(‘ABC\-001‘),js引擎会用字符串转义的规则用‘\‘对‘-‘进行转义,而js字符里并不需要对‘-‘转义,此时会有问题。
转义的相关学习记录
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。