javascript的正则表达式

来源:互联网 发布:万网域名增加二级 编辑:程序博客网 时间:2024/05/17 20:12

正则表达式:

1、什么是正则表达式

正则表达式是描述字符串模式的对象。


2、正则表达式基础

元字符:正则表达式中有特殊含义的非字母字符

* + ? $ ^ . | \ () {} [] 



字符类:[abc]  匹配a或b或c的字符

字符类取反:[^abc]  匹配不是a或b或c的字符





贪婪模式:

正则表达式默认为贪婪模式,尽可能的多匹配字符


非贪婪模式:

最少匹配模式,在量词后加’?’即可 /\d{3,9}?/


小括号有分组的功能


反向引用:

利用小括号进行分组,再利用$1选择分组,1可以是任意分组



忽略分组:(?:title),则可以忽略这个分组





javascript对象有5个属性,source、lastIndex、multiline、ignoreCase、globa


方法:test()有返回true,没有返回false

exec() 匹配中了则返回结果,不中则返回null  

有两个属性:1、index(匹配字符的第一个字符的位置) 2、input(保存原来的string)


前瞻:





3、正则表达式语法

3.1、字面量

var reg = /\bis\b/g;  全局匹配所有is的单词


3.2、构造函数

接收两个参数,第一个是正则表达式,第二个是修饰符,修饰匹配范围

var reg = new RegExp(‘\\bis\\b’,’g’);





4、字符串方法:

1、search(); 可以是正则表达式,返回index,不是全局,匹配不中返回-1

2、match(); 传入正则表达式,寻找一个或者多个匹配的文本,是否有g标志,差别大

没有全局的时候:没有匹配返回Null,匹配中的返回数据,index, input

全局的时候:匹配不中,返回null,匹配中,返回多个匹配子串,返回一个数组

3、split(); 可以传入正则表达式,返回分割后的数组

4、replace(); 第一个参数可以是正则表达式,第二个参数可以是函数

函数如下:



5、总结:javascript的正则表达式没有想象中那么难,特别是写了一段时间javascript代码之后,第一次学的时候总觉得看不懂,现在又重新学了一次,感觉好很多了,这几天找一些题目来练习一下,巩固学习到的知识。

一个图形化的正则表达式验证网站:https://regexper.com/


0 0
原创粉丝点击