什么是正则表达式
正则表达式( Regular Expression )是用于匹配字符串中字符组合的模式。
正则表通常被用来检索、替换那些符合某个模式(规则)的文本。
正则表达式的特点
- 灵活性、逻辑性和功能性非常的强。 2. 可以迅速地用极简单的方式达到字符串的复杂控制。 3. 对于刚接触的人来说,比较晦涩难懂。比如:^\w+([-+.]\w+)@\w+([-.]\w+).\w+ ([-.]\w+)*$ 4. 实际开发,一般都是直接复制写好的正则表达式. 但是要求会使用正则表达式并且根据 实际情况修改正则表达式.
正则表达式的创建
在 JavaScript 中,可以通过两种方式创建一个正则表达式。
方式一:通过调用RegExp对象的构造函数创建
var regexp = new RegExp(/123/);
方式二:利用字面量创建 正则表达式
var rg = /123/;
测试正则表达式
test() 正则对象方法,用于检测字符串是否符合该规则,该对象会返回 true 或 false,其 参数是测试字符串。
var rg = /123/; console.log(rg.test(123));
//匹配字符中是否出现123 出现结果为true console.log(rg.test('abc'));
//匹配字符中是否出现123 未出现结果为fals
正则表达式的组成
一个正则表达式可以由简单的字符构成,比如 /abc/,也可以是简单和特殊字符的组合, 比如 /ab*c/ 。其中特殊字符也被称为元字符,在正则表达式中是具有特殊意义的专用符 号,如 ^ 、$ 、+ 等。
边界符
正则表达式中的边界符(位置符)用来提示字符所处的位置,主要有两个字符
边界符 | 说明 |
---|---|
^ | 表示匹配行首的文本(以谁开始) |
$ | 表示匹配行尾的文本(以谁结束) |
如果 ^和 $ 在一起,表示必须是精确匹配。
字符类
字符类表示有一系列字符可供选择,只要匹配其中一个就可以了。所有可供选择的字符 都放在方括号内。
[] 方括号
表示有一系列字符可供选择,只要匹配其中一个就可以了
[0-9]
选择的是 0 - 9之间的数字
[^]
取反
|
或的意思
2量词符
量词符用来设定某个模式出现的次数。
量词 | 说明 |
---|---|
* | 重复0次或更多次 |
+ | 重复1次或更多次 |
? | 重复0次或1次 |
{n} | 重复n次 |
{n,} | 重复n次或更多次 |
{n,m} | 重复n到m次 |