JS的正则表达式如何使用
学好正则表达式很重要,下面是一些关于正则表达式的基本知识整理
\ : 转义字符
^ : 匹配字符串开始位置
$ : 匹配字符串结束位置
* : 匹配前面的表达式任意次
+ : 匹配前面的表达式一次或多次
? : 匹配前面的表达式零次或一次
{n} : 匹配确定的n次,n为非负整数
{n,} : 匹配至少n次,n为非负整数
{n,m} : 匹配至少n次,至多m次,n和m均为非负整数且n<=m
(*,+,{n,m})? : 非贪婪匹配模式,尽可能少的匹配,例如“z+”可以匹配“zzzzz”,“z+?”只匹配到“z”
. : 匹配除\r\n外任何单个字符
(pattern) : 匹配pattern,并获取匹配,可以获取匹配到的结果,用\1-\9表示,例如“(o)”匹配到“o”,“(o)\1”匹配到“oo”,“(\d{3})\1”匹配到“123123”,不能匹配到“123456”
(?:pattern) : 非获取匹配,匹配pattern,但不获取匹配结果
(?=pattern) : 非获取匹配,正向肯定预查,在任何匹配pattern的字符串开始处匹配查找字符串,该匹配不需要获取供以后使用,例如“test(?=123)”能匹配“test123”中的“test”,但不能匹配“test456”中的“test”
(?!pattern) : 非获取匹配,正向否定预查,在任何匹配pattern的字符串开始处匹配查找字符串,该匹配不需要获取供以后使用,例如“test(?=123)”能匹配“test456”中的“test”,但不能匹配“test123”中的“test”
(?<=pattern) : 非获取匹配,反向肯定预查,和正向肯定预查类似,方向相反,例如“(?<=123)test”能匹配“123test”中的“test”,但不能匹配“456test”中的“test”
(?<!pattern) : 非获取匹配,反向否定预查,和正向否定预查类似,方向相反,例如“(?<!123)test”能匹配“456test”中的“test”,但不能匹配“123test”中的“test”
x|y : 匹配x或y
[xyz] : 匹配包含的任意一个字符
[^xyz] : 匹配未包含的任意字符
\b : 匹配一个单词边界,例如“on\b”能匹配“location”中的“on”,不能匹配到“component”中的“on”
\B : 匹配非单词边界,例如“on\B”能匹配到“component”中的“on”,不能匹配到“location”中的“on”
\d : 匹配一个数字字符
\D : 匹配非数字字符
\s : 匹配任何不可见字符,相当于[\f\n\r\t\v]
\S : 匹配任何可见符,相当于[^\f\n\r\t\v]
学好正则不仅可以帮助我们减少代码量,还能解决很多复杂的需求,所以先打好基础才能向高阶攀爬
相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!
推荐阅读:
以上就是JS的正则表达式如何使用的详细内容,更多请关注其它相关文章!
上一篇: vue.js的语法及常用指令的详解
下一篇: 怎么用JS做出按钮禁用和启用
推荐阅读
-
铁路12306如何使用积分兑换车票?铁路12306使用积分兑换车票的方法
-
Total Uninstall 卸载软件的使用方法以及Total Uninstall如何批量卸载
-
鲁大师有什么用以及如何使用鲁大师的详细步骤
-
搜狗壁纸如何使用 搜狗桌面壁纸的安装使用图文教程
-
在JS循环中使用async/await的方法
-
Java实现拖拽文件上传dropzone.js的简单使用示例代码
-
Js中使用正则表达式验证输入是否有特殊字符
-
Js 利用正则表达式和replace函数获取string中所有被匹配到的文本(推荐)
-
Node.js 使用axios读写influxDB的方法示例
-
JS实现禁止用户使用Ctrl+鼠标滚轮缩放网页的方法