一、正则表达式
1.基本概念(简略)
- 三大作用:匹配,提取,替换
- 正则表达式的组成:普通字符和元字符
- 元字符
元字符 | 描述 |
---|
\d | 匹配一个数字字符,等价于[0-9] |
\D | 匹配一个非数字字符,等价于[^0-9] |
\w | 匹配一个包括下划线在内的任意单词字符,等价于[A-Za-z0-9] |
\W | 匹配任何非单词字符,等价于[^A-Za-z0-9] |
\s | 匹配任何空白字符,包括空格、制表符、换页符等,等价于[\f\n\r\t\v] |
\S | 匹配任何非空白字符,等价于[^\f\n\r\t\v] |
. | 匹配除了"\n"之外的任何字符,要匹配包括"\n"在内的任何字符,请使用(. |
^ | 匹配输入字符串的开始位置,如果设置了RegExp对象的Multiline属性,^也匹配\n或者\r之后的位置。 |
$ | 匹配输入字符串的结束位置,如果设置了RegExp对象的Multiline属性,^也匹配\n或者\r之前的位置。 |
限定符 | 描述 |
---|
* | 匹配前面的子表达式>=0次 |
+ | 匹配前面的子表达式>=1次 |
? | 匹配前面的子表达式0次或者1次 |
{n} | n是一个非负整数,匹配前面的子表达式n次 |
{n,} | n是一个非负整数,匹配前面的子表达式至少n次 |
{n,m} | n是一个非负整数,匹配前面的子表达式至少n次,最多m次 |
其他 | 描述 |
---|
[xyz] | 字符集合,匹配包含的任意一个字符。 |
[^xyz] | 负值字符集合,匹配未包含的任意字符。 |
[a-z] | 能匹配的字符范围 |
[^a-z] | 负值字符范围,匹配任何不在指定范围的任意字符。 |
2.两种正则表达式方法
var reg = new RegExp('^ab[a-z]','i');
var str = 'ABC';
console.log(reg.test(str));
var reg2 = /ab[a-z]/i;
var str2 = "ABshdu";
console.log(reg2.test(str2));
运行结果
![24.1](https://i-blog.csdnimg.cn/blog_migrate/4a1eb7f8717d00af1c71c458c44f97e5.png)
3.正则表达式相关的方法
(1)RegExp对象
(2)针对String对象
- replace()替换
- split() 切割
- search() 搜索
二、源码:
- D24_1_RegularExpression.html
- 地址:
https://github.com/ruigege66/JavaScript/blob/master/ D24_1_RegularExpression.html
- 博客园:
https://www.cnblogs.com/ruigege0000/
- CSDN:
https://blog.csdn.net/weixin_44630050?t=1
- 欢迎关注微信公众号:傅里叶变换,个人账号,仅用于技术交流,后台回复“礼包”获取Java大数据学习视频礼包
![20.4](https://i-blog.csdnimg.cn/blog_migrate/780736861687b6bf4541ae1c191e67d6.png)