JS正则四个反斜杠的含义
我们首先来看如下代码,在浏览器中输出的是什么?
// 在浏览器中输出的
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
2. 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
JS正则四个反斜杠的含义的更多相关文章
- JS中处理单个反斜杠(即转义字符的处理)
问题来源:在表单的<input>标签中对输入的字符串进行大写转换.一不小心输入了反斜杠 \ 如下图所示: 输入 chn\ 的时候,在 IE8 下弹出一个js错误.(在实际的项目的表单 ...
- maven dependency:tree中反斜杠的含义
摘自:http://www.708luo.com/posts/2013/11/maven-dependency-slash-mark/ 一个mvn dependency:tree命令执行的输出如下: ...
- python 3.3.3 字面量,正则,反斜杠和原始字符串
两个不起眼但是比较重要的设定 Python str类型的字面量解释器 当反斜杠及其紧接字符无法构成一个具有特殊含义的序列('recognized escape sequences')时,Python选 ...
- JAVA正则表达式中如何匹配反斜杠 \
有时候我们需要匹配反斜杠,你可能会把对应的正则表达式写成 "\\" 然后可能会有如下输出: Exception in thread "main" java.ut ...
- Mysql 中 like 查询存在反斜杠的解决办法
如 要查询 %\ABC\% 应该这样写, 写成四个反斜杠 like '%\\\\ABC\\\\%'
- Linux下Shell脚本字符串单引号、双引号、反引号、反斜杠的作用和区别
一.单引号 str='this is a string' 单引号字符串的限制: 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的: 单引号字串中不能出现单引号(对单引号使用转义符后也不行) ...
- JS 提交反斜杠\替换成正斜杠/
js将字符串中所有反斜杠\替换成正斜杠/ 区分正斜杠与反斜杠: 正斜杠:http://.http紧跟着的斜杠,离手输入最近的斜杠,shift中间斜杠.45度角斜杠.正斜杠不需要转义 反斜杠:回车与空格 ...
- js 反斜杠 处理
var t = jsonstr.replace(/\\/g,"\\\\\\\\"); --\\ 表示 代码 输出 \' 单引号 \" 双引号 \& 和号 \\ 反 ...
- encodeURIComponent编码反斜杠 \ (正则匹配)
记录一个小bug... 前言废话: 1. 功能需求:修改输入框的内容,获取字符串传给后端保存. 2. bug历程:刚开始直接获取value值传过去.后来测试发现%&这些特殊字符无法传递后,在前 ...
随机推荐
- JavaFX——简单的日记系统
前言 在学习Swing后,听老师说使用Java写界面还可以使用JavaFX.课后,便去了解.JavaFX是甲骨文公司07年推出的期望应用于桌面开发领域的技术.在了解了这个技术几天后,便使用它完成Jav ...
- 练习使用 __attribute__ 属性(仿照内核)
上一篇文章分析了内核中各种 initcall 的调用过程,在这个基础上大概掌握了内核中使用的这种方法,于是参考内核及网友的文章自己动手写了下,记录在这个随笔中. 源代码如下: #include < ...
- 触发器 评论折叠显示(jquery)
触发器 评论折叠显示(jquery) 子页面 : @if(Model?.count>0) { var i=1; var n=model.count-2 va ...
- @Html.DropDownListFor 下拉框绑定(选择默认值)
首先先构建绑定下拉框的数据源 private void GetSalesList() { var userList = _rmaExpressAppService.GetUserList(); Tem ...
- winform中获取指定文件夹下的所有图片
方法一: C#的IO自带了一个方法DirectoryInfo dir = new DirectoryInfo("文件夹名称");dir.getFiles();//这个方法返回值就是 ...
- Java开发笔记(四十五)成员属性与成员方法
前面介绍了许多数据类型,除了基本类型如整型int.双精度型double.布尔型boolean之外,还有高级一些的如包装整型Integer.字符串类型String.本地日期类型LocalDate等等,那 ...
- Maven(九)Eclipse创建Web项目(简单方式)
1. 创建Maven项目(以简单方式) 2. 勾选WAR 3. 选择properties->projectFacts 此处的错误可忽略,配置好会会消失,主要缺失web.xml文件 4. 将框中选 ...
- nginx系列2:搭建nginx环境
我们选择编译安装nginx. 1,下载nginx 进入nginx的官网下载页面:http://nginx.org/en/download.html 找到稳定版本Stable version的下载入口开 ...
- Asp.Net MVC @Html.TextBox 只允许输入数字问题
转到Html.TextBox()看可以看出 Html.TextBox()方法,创建文本框[<input type="text"/>],并且可以带上name,value和 ...
- 在OQL上使用UPDLOCK锁定查询结果,安全的更新实体数据
SqlServer查询记录的时候提供多种锁定方式,其中UPDLOCK 的优点是允许您读取数据(不阻塞其它事务)并在以后更新数据,同时确保自从上次读取数据后数据没有被更改.当我们用UPDLOCK来读取记 ...