10个正则表达式技巧

1.匹配模式

正则表达式查找与模式匹配的字符串部分

在JavaScript中,它们是在正斜杠之间//或使用new RegExp()

然后用于match , test或replace

您可以预先定义正则表达式,也可以直接在调用方法时定义

2.匹配多个

一次匹配单个字符,

或将多个字符放在方括号[]中以捕获任何匹配的字符

使用连字号捕获一系列字符-

3.可选标志

在正则表达式的末尾添加可选标志,以修改匹配器的工作方式。

在JavaScript中,这些标志是:

i =不区分大小写 m =多行匹配 g =全局匹配(查找全部,而不是查找一个)

4.开始和结束

在开始处使用插入符号^表示“字符串开始”

在末尾使用美元符号$表示“字符串结尾”

开始将匹配项组合在一起以匹配更长的字符串

5.通配符

使用通配符和特殊的转义字符来匹配较大类的字符

。=除换行符外的任何字符

\ d =数字 \ D =不是数字

\ s =空格 \ S =任何非空白

\ n新行

6.特定数量

仅将特定数量的匹配字符或组与量词匹配

=零或更多 =还有一个?= 0或1 {3} =正好3倍{2,4} =两倍,三倍或四倍{2,} =两倍或更多倍

7.小括号匹配组

使用parens()捕获组

match会返回完整匹配加上组,除非您使用g标志

使用管道运算符| 在parens()内部以指定该组匹配的内容

| =或

8.反斜杠

要匹配特殊字符,请使用反斜杠\

JS正则表达式中的特殊字符是:^ $ \。* +?()[] {} |

因此,要匹配一个星号,可以使用:

\ *

不只是*

9.中括号里的^

要匹配某个字符但要匹配某个字符,请在方括号内使用插入号^

这意味着^有两个含义,可能会造成混淆。

当它在正则表达式的前面时,它表示“字符串的开始”,而在方括号内使用时,则表示“不是此字符”。

10.总结

正则表达式可用于查找和匹配各种内容,从url到文件名

然而!如果您尝试将正则表达式用于真正复杂的任务,请务必谨慎,例如解析电子邮件(这确实令人困惑,非常快)或HTML(非常规语言,因此无法由正则表达式完全解析)

正则表达式还有(当然)还有更多,例如懒惰vs贪婪,超前和捕获

但是大多数Web开发人员想要使用正则表达式的东西都可以仅使用这些基本构建块。

我已经在写一堆有关真实世界正则表达式用例的后续文章????

原文:https://dev.to/chrisachard/intro-to-regex-for-web-developers-2fj4

译文:http://caibaojian.com/10-regex-tip.html

前端开发日报存档

看得不过瘾,网站有过去几年的每日前端好文章日报存档,关注收藏起来不迷路。

掘金小册全网八折

热门前端掘金小册,全网八折:前端面试之道、Vue组件精讲、使用WebPack定制前端开发环境、重学前端(极客时间)、前端开发核心知识(GitChat)等,阅读原文浏览全网教程!

喜欢这篇文章的朋友
欢迎分享到朋友圈 或者技术交流群
关注「前端开发博客」加星标,不错过每日热文

每日更新 ???? 关注不迷路!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值