正则表达式是一个描述字符模式的对象。也就是把规则说给计算机听。javascript中的RegExp类表示正则表达式。
可以使用RegExp()构造函数来创建RegExp对象,也可以通过直接量与法来创建。
语法
构造函数:
var reg = new RegExp(表达式,修饰符);
字面量:
var reg = /表达式/修饰符;
常用修饰符
i | 不区分大小写 |
---|---|
g | 全局匹配 |
m | 多行匹配 |
s | 特殊字符圆点 . 中包含换行符 \n |
常用的元字符(特殊字符,注意大小写)
^ | 开始字符 |
$ | 结束字符 |
\ | 转义符>>特殊标点符号,在前面加 \ 后,就代表该符号本身.^ 要匹配 "^" 字符本身,请使用 \^ 特殊标点符号() [ ] { } . ? + * | |
\w | 匹配字母、数字、下划线 |
\W | 匹配非字母、数字、下划线 |
\d | 匹配数字 |
\D | 匹配非数字 |
\s | 匹配空自字符(空格、换行) |
\S | 匹配非空白字符 |
\n | 匹配换行符 |
常用限定符
* | 匹配前面的子表达式零次或多次 |
+ | 匹配前面的子表达式一次或多次 |
? | 匹配前面的子表达式零次或一次 |
{n} | 匹配确定的n次 |
{n,} | 至少匹配n次 |
{n,m} | 最少些配n次且最多匹配m次 |
方法
检测一个字符串是否与正则相匹配
reg.test(string) //返回值为布尔值 true匹配、false 不匹配
reg.exec(string) //匹配成功返回数组,并确定其位置,否则返回null
var str = 'abc';
var reg = /[a]/;
console.log(reg.test(str)); //返回 true
console.log(reg.exec(str)); // 返回 ["a", index: 0, input: "abc", groups: undefined]
当 exec() 再也找不到匹配的文本时,它将返回 null,并把 lastIndex 属性重置为 0>>最后的查找元素
string类中可以支持正则的方法
search | 检索与正则表达式相匹配的值 >>返回匹配字符串的下标,否则返回-1 |
match | 找到一个或多个正则表达式的匹配 >>如果没有找到任何匹配的文本,返回null。否则,它将返回一个数组(依赖于是否具有全局标志g) |
replace | 替换与正则表达式匹配的子串 >>返回一个新的字符串 |
split | 把字符串分割为字符串数组 >>返回一个字符串数组 |
常用正则表达式
匹配email地址 |
|
匹配手机号码 |
|
匹配身份证号 |
|
匹配url地址 |
|
匹配邮编号 |
|
只能由英文和数字组成 |
|
只能由英文、数字、下划线组成 |
|
查找任何从小写a到小写z的字符 |
|
查找任何从大写A到大写Z的字符 |
|
查找任何从0至9的数字 |
|
查找括号内的任意一个字符 |
|
查找除了括号内的任意字符 |
|
常用汉字编码范围;Unicode编码16进制的utf-8汉字编码:u4e00最小中文字符 u9fa5最大中文字符 |
|
I'm so cute. Please give me money.
- 本文链接:https://wangyou.ink/2021/12/04/grep/
- 版权声明:本博客所有文章除特别声明外,均默认采用 许可协议。