javascript - 为什么 '\\\[' 等于 '\\[' ?反斜杠如何在字符串中工作?
问题描述
如标题
console.log('\\\[' === '\\[');
返回真。
谁能详细解释一下有什么区别?
解决方案
大多数字符之前的反斜杠只会被解析为不必要的转义字符 - 反斜杠将被忽略。这就是第一个字符串的第二部分发生的事情。但是,在某些字符之前,例如\\
, or中的另一个反斜杠\n
,它将被解析为转义序列。\\
是单个文字反斜杠的转义序列:
console.log('\\');
并且只有一个字符。
a 之前的反斜杠[
将解析为[
,但是:
console.log('\[');
所以:
'\\\['
- 文字反斜杠,后跟一个(不必要的转义)[
'\\['
- 文字反斜杠,后跟一个普通的[
有关转义序列的列表,请参阅MDN。
推荐阅读
- mysql - 选择名称 WHERE 指向正方形
- microsoft-teams - 为 ms 团队中的任务模块添加关闭按钮
- typescript - 当我的 tsconfig.json 中只有 include=["src"] 时,为什么需要 exclude=["node_modules"]?
- pandas - LSTM Keras 输入和输出维度
- json - 具有多个步骤和嵌套字段的角度形式
- bitcoin - 比特币 SPV 客户端如何知道它没有错过来自完整节点的区块?
- regex - 正则表达式“包含 10-14 位数字”的正则前瞻无法正常工作
- django-models - 如果为空,则返回另一个表的值
- c# - 在 ActiveMQ 中配置通配符主题选择器
- python - groupby 操作后按月对数据帧进行排序