js 正则 或者_如何彻底搞懂面向 Web 开发者的正则表达式?
對于正則表達式,開發者如何跳出云里霧里的謎團?
作者 | Chris Achard
譯者 | 彎月,責編 | 郭芮
出品 | CSDN(ID:CSDNnews)
以下為譯文:
正則表達式能在字符串中查找匹配特定模式的子字符串。
在JavaScript中,可以通過斜線 / / 來創建,也可以通過new RegExp來創建,然后就能使用match、test、replace等方法。你可以事先定義正則表達式,也可以在調用方法時隨時定義。
每次匹配一個字符,將多個字符放到方括號 中可以匹配多個匹配的字符。
用橫線 - 匹配字符范圍。
在正則表達式末尾添加額外的標記來修改匹配器的行為。
JavaScript支持如下標記:
i = 不區分大小寫
m = 多行匹配
g = 全局匹配(查找所有匹配,而不是僅查找一個)
在模式開頭使用箭頭 ^ 表示“字符串開頭”。
在模式末尾使用美元符號 $ 表示“字符串結尾”。
將多個模式放在一起以匹配更長的字符串。
使用通配符和特殊的轉義字符來匹配字符類。
. = 除了換行之外的任何字符。
d = 數字
D = 非數字
s = 空白
S = 非空白
= 新行
用數量修飾符來匹配特定數量的字符。
* = 零個或多個
+ = 一個或多個
?= 零個或一個
{3} = 正好3個
{2,4} = 2, 3, 或4個
{2,} = 2或多個
使用括號 來分組。
match會返回完整的匹配,外加每個分組,除非你使用了g標記。
在括號 內使用管道符號 | 來表示分組的匹配內容。
| = 或者
要匹配特殊字符,需要用反斜杠 將其轉義。
JS正則表達式中的特殊字符包括:^ $ . * + ? { } |
所以,要想匹配星號,需要使用:
*
而不能僅使用 *
要想匹配除了特定字符之外的任意字符,可以在方括號內使用^。
這意味著 ^ 有兩種含義,可能會造成混淆。
當它出現在正則表達式開頭時,它表示“字符串開頭";出現在方括號內時,表示“不是這些字符串”。
正則表示可以用來查找并匹配各種東西,比如URL和文件名。
但是!對于非常復雜的任務,使用正則表達式時一定要小心,比如分析電子郵件(你很容易就會弄得一團糟),或者分析HTML(HTML不是正規的語言,所以沒辦法完全使用正則表達式來解析)。
但是,對于絕大多數Web開發者來說,掌握這些最基本的組成部分就夠了。
原文:https://dev.to/chrisachard/intro-to-regex-for-web-developers-2fj4
作者:Chris Achard,程序員,日常使用JS, React, Rails和Node,在egghead.io上講課。
本文為 CSDN 翻譯,轉載請注明來源出處。
【END】
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的js 正则 或者_如何彻底搞懂面向 Web 开发者的正则表达式?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python爬取行业数据_用Python
- 下一篇: c语言链表贪吃蛇教程,编《贪吃蛇》最简单