js正则表达式

1. 正则表达式声明

1.1 构造函数

通过构造函数的形式,来创建表达式
var reg=new RegExp(num);
返回值是一个对象,拥有两个方法
reg.test(被查询的字符串) 返回值
reg.exec(被查询的字符串) 返回值Array
第一个元素:是匹配到的字符串的首字符
第二个元素:是该字符串的首字母索引值
第三个元素:是输入的字符串
\color{orange}{注意:}正则表达式既可以制定规则,也可以直接进行查找

1.2 字面量

var reg1=/\d/g;
两个参数
参数一 匹配的特征字符串
参数二 修饰字符串
\color{orange}{注意:}使用构造函数的方法 创建正则表达式对象 可以传入变量 能动态修改表达式;使用字面量方法创建的是一个常量对象

2. 正则书写

2.1 精准匹配

var reg = /23/;

2.2 模糊匹配(通过元字符)

var reg1 = /\d/;

2.3 常用元字符

\d 一个数字字符
\D 一个非数字字符
\w 一个数字 字母 下划线 字符
\W 一个非数字 字母 下划线 字符
\s 一个空白符号
\S 一个非空白符号
. 匹配除换行符外的所有单个的字符

2.4 量词的控制

X{n} 匹配连续n个X
a{6} a连续出现6次
\d{6} 连续6个数字
X{n,m} 匹配最少出现n次 最多出现m次,满足最小条件开始匹配,到达最大条件,当次匹配结束
X{n,} 匹配最少n次 最多无上限

2.5 模糊个数

X? 匹配0个或者1个
    等同于{0,1}
X*  匹配0个或连续多个  正则表达贪婪模式
    等同于{0,}
X+  匹配1个或连续多个
    等同于{1,}
X*? 非贪婪模式
{n,m}?  只要有? 代表当前匹配尽量按照最小要求n匹配 但是也可以最多重复m次
??     尽量匹配允许不满足条件 但是满足条件最多匹配一次 相当于{0,1}?
+?      尽量匹配一次  但是也可以匹配任意次 相当于{1,}?
*?       尽量不匹配 也可以匹配任意次 相当于{0,}?

2.6 分组

var s = '2021.10.12';
var s1 = '2021.11.12';
var reg0 = /2021.(10).(12)/;
console.log(reg0.test(s));  true
console.log(reg0.test(s1));  false

使用()可以对正则表达式进行分组操作
如果括号内匹配失败 返回false 整个正则表达式 直接返回false

2.7 其它

\/代表 字符 /
var s = '23/2';
var reg0 = /\//; 
console.log(reg0.test(s));
g 全局匹配  写在//最后面  /\d/g  在全局范围内搜索符合要求的字符
                    有一个lastIndex属性 自动查找下一个
                    没有g 不管是exec() 还是match()都返回匹配到的第一个字符
                    有g  
                        exec()   返回符合要求的第一个字符
                        match()  返回一个数组 数组内包含所有符合要求的字符
i 不区分大小写
m 多行

3. 正则验证

正则验证(正则表达式)Regular Ecpression 简写 regex regexp RE
1.描述了一种字符串的特征模型
2.返回值 是一个对象 通过该对象提供的方法和属性,能够对字符串进行匹配处理
3.查找字符串
4.既可以精准查找,也可以模糊匹配

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 核心知识点 正则的表达式的特殊符号 总结: 主要是用在表单验证、失去焦点onblur事件、使用ajax返回数据,并...
    每天进步一点点5454阅读 357评论 0 0
  • 正则表达式中的特殊字符 字符 含意 \ 做为转意,即通常在""后面的字符不按原来意义解释,如/b/匹配字符"b",...
    Allan要做活神仙阅读 563评论 0 0
  • 正则表达式(Regular Expression)是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系...
    贪睡de狮子阅读 330评论 0 0
  • @(javascript)[js正则表达式] [toc] JS正则表达式 正则表达式一直是一个令人头疼但却又是十分...
    踏浪free阅读 438评论 0 1
  • RegExp对象实例化 RegExp是JS的正则表达式对象,实例化一个RegExp对象有字面量和构造函数2种方式。...
    octcms阅读 2,026评论 0 3