美文网首页
2023-02-21 JS正则关于多个反斜杠的含义

2023-02-21 JS正则关于多个反斜杠的含义

作者: 追寻1989 | 来源:发表于2023-02-20 17:50 被阅读0次

我们首先来看如下代码,在浏览器中输出的是什么?

// 在浏览器中输出的
console.log('\\'); // 输出 \
console.log('\\\\'); // 输出 \\
一:js正则直接量语法对 反斜杠的含义
1.1 \. 一个反斜杠加点号(.)
var reg1 = /^\.$/g; 
console.log(reg1.test('.')); // 输出 true, 因为 \. 是对元字符.进行转义,因此匹配字符串中的.
console.log(reg1.test('a')); // 输出false \. 转义后只能匹配字符串中的. ,不再是元字符匹配任意单个字符了
1.2 \\. 两个反斜杠加 (.)

在js正则表达式中,两个反斜杠加点号(.), 两个反斜杠会原样输出 \ 字符串。元字符 . 匹配任意字符。

var reg2 = /^\\.$/g; 
console.log(reg2.test('\a')); // false
console.log(reg2.test('\\a')); // true
console.log(reg2.test('a')); // false
console.log(reg2.test('\\ab')); // false
console.log(reg2.test('\\.')); // true
1.3 \\\. 三个反斜杠和点号(.)

在js正则表达式中,三个反斜杠和 . ,前两个反斜杠匹配两个反斜杠,后面的 . 是对元字符.号进行转义,因此只能匹配字符串中的 . 号,不能匹配任意一个字符。

var reg3 = /^\\\.$/g; 
console.log(reg3.test('\a')); // false
console.log(reg3.test('\\.')); // true
console.log(reg3.test('a')); // false
console.log(reg3.test('\\a')); // false
1.4 \\\\. 四个反斜杠加点号(.)

在js正则表达式中,四个反斜杠匹配四个反斜杠,然后后面的点号是匹配任意的字符,除点之外。

var reg4 = /^\\\\.$/g;

console.log(reg4.test('\\a')); // false
console.log(reg4.test('\\\.')); // false
console.log(reg4.test('\\\a')); // false
console.log(reg4.test('\\\\a')); // true
console.log(reg4.test('\\\\.')); // false
console.log(reg4.test('\\aa')); // false
二:JS中RegExp对象对反斜杠的含义
2.1 \\. 两个反斜杠加点号(.)

两个反斜杠加点的含义是:全局匹配字符串中带有点号的。找到的话,就返回true,否则的话,返回false, 首先两个反斜杠在正则 RegExp,返回一个反斜杠 .

因此一个 反斜杠 . 就是对元字符 . 进行转义。因此只能匹配 . 号了。
如下代码:

var reg11 = new RegExp('\\.', 'g');

console.log(reg11); // 输出 /\./g

console.log(reg11.test('.')); // true
console.log(reg11.test('\.')); // false
console.log(reg11.test('\a')); // false
console.log(reg11.test('.a')); // true
console.log(reg11.test('n.a')); // true
2.2 \\\. 三个反斜杠加点号(.)

三个反斜杠和两个反斜杠的含义一样的。

var reg12 = new RegExp('\\\.', 'g');

console.log(reg12); // 输出 /\./g
console.log(reg12.test('.')); // true
console.log(reg12.test('\.')); // false
console.log(reg12.test('\a')); // false
console.log(reg12.test('.a')); // true
console.log(reg12.test('n.a')); // true
2.3 \\\\. 四个反斜杠加点号(.)

四个反斜杠加点号的含义是:在RegExp对象后,会返回 /\\./g 然后是匹配字符串 \\, 点号(.) 是元字符匹配任意的字符。

var reg12 = new RegExp('\\\\.', 'g');

console.log(reg12); // 输出 /\\./g
console.log(reg12.test('.')); // false
console.log(reg12.test('\.')); // false
console.log(reg12.test('\a')); // false
console.log(reg12.test('.a')); // false
console.log(reg12.test('n.a')); // false

console.log(reg12.test('\\a')); // true
console.log(reg12.test('\\aaaa')); // false

console.log(reg12.test('\\.')); // true

相关文章

  • python正则表达式(1)--特殊字符

    正则表达式—特殊表达式含义 正则表达式的字母和数字表示他们自身,但多数字母和数字前加一个反斜杠时会拥有不同的含义。...

  • js中反斜杠的正则替换

    结果

  • java正则

    首先,反斜杠的问题 在 Java 中,双反斜杠才表示转义字符: \\表示:我要插入一个正则表达式的反斜线,所以其后...

  • 2020-06-01 正则表达式(1)

    十二个字符在正则表达式中具有特殊含义: 反斜杠\,插入符号^,美元符号$,句点或小圆点.,竖线或管道符号| ,问号...

  • JS去除字符串众的反斜杠

    JS在去除字符串众的反斜杠时候,首先需要明确反斜杠的由来 1,JSON.Stringfy 产生,只需要讲字符串JS...

  • 正则表达式3

    获取控制 正则表达式元字符是包含特殊含义的字符。它们有一些特殊功能,可以控制匹配模式的方式。反斜杠后的元字符将失去...

  • JS—正则表达式(b)

    正则表达式的元字符是包含特殊含义的字符,它们有一些特殊的功能,可以控制匹配模式的方式,反斜杠后的元字符失去其特殊含...

  • 正则表达式

    一. 反斜杠的使用 1. 在普通字符串中,通过反斜杠“\”转义某些字符 转义字符含义\r回到当前行的行首,例如"a...

  • 常用正则表达式

    收集一下使用过的正则表达式,基本保证格式正确。主要采用js形式,如果是其他语言请注意修改,例如反斜杠的格式等。 1...

  • 使用正则表达式

    1、编译正则表达式 import rep = re.compile('*ab')print(p) 2、反斜杠的麻烦...

网友评论

      本文标题:2023-02-21 JS正则关于多个反斜杠的含义

      本文链接:https://www.haomeiwen.com/subject/pwygkdtx.html