JS正则表达式详解[收藏]
正则表达式概述
正则表达式(Regular Expression)是一种文本模式,可以用于字符串的搜索、匹配和替换操作。它在计算机科学中广泛应用,涉及到文本处理、自然语言处理、网络安全等领域。
JS正则表达式对象
在JS中,可以通过正则表达式对象来实现对字符串的操作。正则表达式对象的常用属性和方法如下:
常用属性
- source:获取正则表达式对象的文本表述。
- global:判断正则表达式对象是否全局匹配。
- ignoreCase:判断正则表达式对象是否忽略大小写。
- multiline:判断正则表达式对象是否启用多行模式。
常用方法
- test():判断字符串中是否包含与正则表达式对象匹配的内容。
- exec():在字符串中查找匹配正则表达式的内容,返回一个包含匹配结果的数组,若未查找到则返回null。
正则表达式语法
元字符
元字符 | 含义 |
---|---|
. | 任意单个字符 |
\ | 转义字符,用来表示元字符 |
[] | 字符集,匹配其中任意字符 |
[^] | 否定字符集,不匹配其中任意字符 |
() | 捕获组,用来提取子字符串 |
| | 或,匹配两侧任意一项 |
^ | 匹配开头 |
$ | 匹配结尾 |
量词
量词 | 含义 |
---|---|
* | 匹配前一个字符0次或多次 |
+ | 匹配前一个字符1次或多次 |
? | 匹配前一个字符0次或1次 |
{n} | 匹配前一个字符n次 |
{n,m} | 匹配前一个字符n次到m次 |
{n,} | 匹配前一个字符n次以上 |
贪婪模式与非贪婪模式
贪婪模式:尽可能多地匹配字符串
非贪婪模式:尽可能少地匹配字符串
在量词后添加问号即为非贪婪模式。例如:
.*
贪婪匹配任意数量的字符.*?
非贪婪匹配任意数量的字符
JS正则表达式示例
示例一:判断字符串中是否包含手机号码
let phoneReg = /^1[3|4|5|6|7|8|9][0-9]{9}$/;
let phoneNum = "13912345678";
if(phoneReg.test(phoneNum)){
console.log("该字符串中包含合法的手机号码");
}else{
console.log("该字符串中不包含合法的手机号码");
}
示例二:提取字符串中的数字
let str = "今天的天气是27℃";
let numReg = /(\d+)/;
let result = numReg.exec(str);
if(result){
console.log("该字符串中的数字是:" + result[1]);
}else{
console.log("该字符串中不包含数字");
}
结语
正则表达式是一种强大的文本处理工具,可以在文本处理中发挥重要作用。以上就是JS正则表达式的详细攻略,包括对象的属性和方法、正则表达式语法、以及示例说明。希望这篇攻略能够对你的正则表达式学习有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS正则表达式详解[收藏] - Python技术站