正则表达式
正则表达式(Regular Expression,在代码中常简写为regex、regexp或RE)使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。
1. 什么是正则表达式
- 正则表达式是由一个字符序列形成的搜索模式。
- 当你在文本中搜索数据时,你可以用搜索模式来描述你要查询的内容。
- 正则表达式可以是一个简单的字符,或一个更复杂的模式。
- 正则表达式可用于所有文本搜索和文本替换的操作。
2. 正则表达式的创建
- 字面量方式
var reg = /正则表达式/修饰符;
var reg = /hello/gim;
- 构造函数
var reg = new RegExp("正则表达式","修饰符")
var reg =new RegExp("hello","gim");
3.正则表达式的字符种类
- 普通字符
字母、数字、下划线、汉字、没有特殊含义的符号(,;!@等) - 特殊字符
\:将特殊字符转义成普通字符 - 模式修饰符
i:ignoreCase,匹配时忽视大小写
m:multiline,多行匹配
g:global,全局匹配
注:字面量创建正则时,模式修饰符写在一对反斜线后
4.正则表达式的实例方法
- exec
可用来匹配字符串中符合正则表达式的字符串
var str = ‘hello world hello’;
var reg1 = /hello/;
var reg2 = /hello/g;
var reg3 = /exe/g;
console.log(reg1.exec(str));
//[ 'hello', index: 0, input: 'hello world hello', groups: undefined ]
//[匹配的内容,在str中匹配的起始位置(光标所处的位置),参数字符串(被匹配的字符串)]
console.log(reg3.exec(str)); // null
- test
用来测试待检测的字符串中是否有可以匹配到正则表达式的字符串,如果有返回true,否则返回false。
var str = 'hello world';
var rge1 = /world/;
var reg2 = /123/;
console.log(reg1.test(str));//返回true
console.log(reg2.test(str));//返回false
-
toString/toLocaleString
把正则表达式的内容(即双斜杠里的内容)转化成字面量形式的字符串 -
valueOf
返回正则表达式本身
注:此实例方法要注意区分大小写,否则不能调用。