一、转义符号与字符
(1)转义的概念
转义就是转换、改变意义
(2)转义符号与字符
转义符号: \
转义字符: \字符
(3)示例1
1、为什么会出错?

因为它认为是一个字符串和一个变量和一个字符串,这个变量没有用+拼接所以报语法错误
2、怎样输出中间的双引号?

加上在引号前面加上转义符号\
(4)特殊转义字符
| 转义符 | 功能 |
|---|---|
| \n | 换行 |
| \r | 回车 |
| \t | 制表符(tab,4个空格) |
这些符号是给编辑系统用的,所以在html里面是显示不出来的
(5)示例2
1、为什么会报错?

javascript默认不允许字符串换行
应该为:

或

把回车和换行转义成空格
二、正则基础
(1)正则的概念
英文: RegExp(regular expression)
概念: 对字符串操作的逻辑公式
作用: 按照一定的规则匹配或检索这个规则当中指定类型的某些字符
用途:
- 检测用户输入是否合法
- 替换数据中的某些字符串
- 替换模板
(2)正则表达式和属性
1、正则表达式
var reg = new RegExp('test'), // 正则表达式、属性
str = 'this is a test';
console.log(reg.test(str)) // true
以正则表达式为规则检验str里面是否包含test,包含就是true不包含就是false
要求: 字符串片段大小写默认是敏感的、连续的
2、正则属性
- 忽略大小写:i(ignore case)
var reg = new RegExp('Test', 'i'),
str = 'this is a test';
console.log(reg.test(str)); // true
- 全局匹配:g(global)
var reg = new RegExp('Test', 'gi'),
str = 'this is a test. Test is important';
console.log(str.match(reg)); // ["test", "Test"]
- 匹配开头:^
var reg = new RegExp('^Test', 'gi'),
str = 'this is a test. \nTest is important';
console.log(str.match(reg)); // null
- 多行匹配:m(multi-line)
var reg = new RegExp('^Test', 'gim'),
str = 'this is a test. \nTest is important';
console.log(str.match(reg)); // ["Test"]
(3)声明方式
1、实例化对象
var reg = new RegExp('test', 'gim')
2、字面量声明
var reg = /test/gim // 不用写引号 不能放变量
(4)示例
var reg = /test/;
reg.a = 1;
var newReg = RegExp('test');
console.log(newReg.a); //undefined
var newReg = new RegExp('test');
console.log(newReg.a); //undefined
var newReg = new RegExp(reg);
console.log(newReg.a); //undefined
var newReg = RegExp(reg);
console.log(newReg.a); //1
没有new是拿的原来正则对象的引用
new了是拿的新的引用,生成新的正则对象
三、修饰/元字符
(1)修饰符
| 修饰符//正则属性 | 功能 |
|---|---|
| i(ignore case) | 忽略大小写 |
| g(global) | 全局匹配 |
| m(multi-line) | 多行匹配 |
(2)表达式
[]就是一个表达式,例如[123]、[abc]
[]里面放匹配字符的集合,写一个[]就匹配一位,写几个[]就连续匹配几位
| 表达式 | 描述 |
|---|---|
| [abc] | 查找方括号之间的任何字符 |
| [^abc] | 查找任何不在方括号之间的字符 |
| [0-9] | 查找任何从 0 至 9 的数字 |
| [a-z] | 查找任何从小写 a 到小写 z 的字符 |
| [A-Z] | 查找任何从大写 A 到大写 Z 的字符 |
| [A-z] | 查找任何从大写 A 到小写 z 的字符 |
| 0-z | 查找任何从 0 至 9 的数字、从大写 a 到小写 z 的字符 |
| 0-Z | 查找任何从 0 至 9 的数字、从大写 A 到小写 Z 的字符 |
| [(red|blue|green)] | 查找任何指定的选项 |
提示:
- 表达式里^表示取非
- 表达式里|表示或
- 小括号包裹优先匹配
(3)示例1
为什么987不会被匹配?

因为匹配过了就接着往下匹配,且匹配过的不会再匹配
(4)元字符
元字符: 正则使用的转义字符,一个元字符负责匹配一位
| 元字符 | 描述 |
|---|---|
| · | 查找单个字符,除了换行和行结束符。 |
| \w | 查找单词字符和数字[0-9A-z_] |
| \W | 查找非单词字符和数字[^\w] |
| \d | 查找数字[0-9] |
| \D | 查找非数字字符[^\d] |
| \s | 查找空白字符[\r\n\t\v\f] |
| \S | 查找非空白字符[^\s] |
| \b | 匹配单词边界 |
| \B | 匹配非单词边界[^\b] |
(5)示例2




元字符可以代表中括号,一个元字符匹配一次
本文详细介绍了JavaScript中的转义符号和正则表达式。转义符号用于在字符串中插入特殊字符,如用于输出双引号。正则表达式用于字符串匹配和检索,包括忽略大小写、全局匹配和多行匹配等属性。通过实例展示了如何使用正则表达式进行匹配和声明方式,并解释了元字符和修饰符的作用,如w匹配单词字符,d匹配数字,以及[i/g/m]等修饰符的功能。

756

被折叠的 条评论
为什么被折叠?



