首頁 web前端 js教程 JS正規表示式的字元匹配

JS正規表示式的字元匹配

Jun 09, 2020 pm 04:26 PM

正規表示式字元符合

這是閱讀《JavaScript正規表示式迷你書》後整理的一些筆記。

正規表示式是匹配模式,可以匹配字符,可以匹配位置。

下面主要介紹匹配字元的情況,匹配位置的情況我也正在學習中。

兩個模糊匹配:

1.橫向模糊匹配:一個正規可以匹配的字串的長度不是固定的。其實現方式是使用量詞。比如說{m,n}是指字元最少連續出現m次,最多n次。

如/ab{2,5}c/ 表示符合這樣一個字串:第一個字元是“a”,接下來是2 到5 個字元“b”,最後是字元“c” 。

例如:(大家可以手動試一下,想想會得到哪些結果)

var regex = /ab{2,5}c/g;
var string = "abc abbc abbbc abbbbc abbbbbc abbbbbbc";
console.log( string.match(regex) );
登入後複製

g是一個修飾符,它表示全域匹配,就是在string裡面依序找到滿足匹配條件的所有的字符串。

2.縱向模糊匹配:一個正則可匹配的字符串具體到某一位字符,可以不是一個確定的字符,可以有多種可能。其實現方式是使用字元組

如/a[123]b/表示匹配這樣一個字串:第一個字元是a,第二個字元可以是'1','2',' 3'中的任何一個,但只能是一個。

量詞(重複)

1.常見的簡寫形式:

(1){m,} 表示至少出現m次

#(2) {m} 表示出現m次

(3)? 等價於{0,1} 表示出現或不出現

(4) 等價於{1,} 表示至少出現1次

(5)* 等價於{0,} 表示出現任意次,可以不出現,也可以若干次

2.貪婪匹配與惰性匹配

# (1)貪婪配對:/\d{2,5}/ 表示數字連續出現2-5次,會盡量多的配對

var regex = /\d{2,5}/g;
var string = "123 1234 12345 123456";
console.log( string.match(regex) );
// => ["123", "1234", "12345", "12345"]
登入後複製

(2)惰性配對:/\d{2,5} ?/ 表示雖然2-5次都可以,但是當2個就夠的時候,就不再嘗試。

var regex = /\d{2,5}?/g;
var string = "123 1234 12345 123456";
console.log( string.match(regex) );
// => ["12", "12", "34", "12", "34", "12", "34", "56"]
登入後複製

JS正規表示式的字元匹配

字元組

1.範圍表示:

(1)用連字號「-」來省略簡寫,如[ 123456abcdefGHIJKLM]就可以寫成[1-6a-fG-M]。

(2)注意:若符合的字串中有連字符時,要嘛放開頭,要嘛放結尾,要嘛進行轉義-。

2.排除字元組:如[^abc]表示某位元字元可以是任何東西,但不能是a,b,c。 ^脫字符表示求反,也有對應的範圍表示。

3.常見的簡寫形式:

(1)\d表示[0-9]。是一位數字

(2)\D表示[\^0-9]。除數字外的任意字元。

(3)\w表示 [0-9a-zA-Z_]。數字、大小寫字母和底線。也稱為單字字元

(4)\W表示[^0-9a-zA-Z_]。非單字字元

(5)\s表示[ \t\v\n\r\f]。表示空白符,包括空格、水平製表符、垂直製表符、換行符、回車符、換頁符。

(6)\S表示[^ \t\v\n\r\f]。非空白字元

(7). 表示[^\n\r\u2028\u2029]。通配符,表示幾乎任意字元。換行符號、回車符、行分隔符號和段分隔符號除外。

要匹配任意字符,可以使用 [\d\D][\w\W] [ ^] 中任何的一個。

多選分支

一個模式可以實現橫向和縱向模糊匹配,多選分支可以支援多個子模式任選其一。

具體形式:(p1|p2|p3) p1,p2,p3是子模式。

要注意下面的這個問題。

var regex = /good|goodbye/g;
var string = "goodbye";
console.log( string.match(regex) );
登入後複製

上面這個例子得到的結果是「好」

var regex = /goodbye|good/g;
var string = "goodbye";
console.log( string.match(regex) );
登入後複製

這個例子獲得的是「goodbye」

我們得到這樣的結論:分支結構也是惰性的,即當前面的配對上了,後面的就不再嘗試了。

推薦教學:《JS教學

以上是JS正規表示式的字元匹配的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1662
14
CakePHP 教程
1418
52
Laravel 教程
1311
25
PHP教程
1261
29
C# 教程
1234
24
建議:優秀JS開源人臉偵測辨識項目 建議:優秀JS開源人臉偵測辨識項目 Apr 03, 2024 am 11:55 AM

人臉偵測辨識技術已經是一個比較成熟且應用廣泛的技術。而目前最廣泛的網路應用語言非JS莫屬,在Web前端實現人臉偵測辨識相比後端的人臉辨識有優勢也有弱勢。優點包括減少網路互動、即時識別,大大縮短了使用者等待時間,提高了使用者體驗;弱勢是:受到模型大小限制,其中準確率也有限。如何在web端使用js實現人臉偵測呢?為了實現Web端人臉識別,需要熟悉相關的程式語言和技術,如JavaScript、HTML、CSS、WebRTC等。同時也需要掌握相關的電腦視覺和人工智慧技術。值得注意的是,由於Web端的計

PHP正規表示式驗證:數位格式偵測 PHP正規表示式驗證:數位格式偵測 Mar 21, 2024 am 09:45 AM

PHP正規表示式驗證:數位格式偵測在編寫PHP程式時,經常需要對使用者輸入的資料進行驗證,其中一個常見的驗證是檢查資料是否符合指定的數字格式。在PHP中,可以使用正規表示式來實現這種驗證。本文將介紹如何使用PHP正規表示式來驗證數字格式,並提供具體的程式碼範例。首先,讓我們來看看常見的數字格式驗證要求:整數:只包含數字0-9,可以以正負號開頭,不包含小數點。浮點

如何使用正規表示式在 Golang 中驗證電子郵件地址? 如何使用正規表示式在 Golang 中驗證電子郵件地址? May 31, 2024 pm 01:04 PM

若要使用正規表示式在Golang中驗證電子郵件地址,請執行下列步驟:使用regexp.MustCompile建立正規表示式模式,以符合有效的電子郵件地址格式。使用MatchString函數檢查字串是否與模式相符。此模式涵蓋了大多數有效的電子郵件地址格式,包括:局部使用者名稱可以包含字母、數字和特殊字元:!.#$%&'*+/=?^_{|}~-`網域至少包含一個字母,後面可以跟字母、數字或連字符頂級域名(TLD)不能超過63個字符長

如何在 Go 中使用正規表示式匹配時間戳記? 如何在 Go 中使用正規表示式匹配時間戳記? Jun 02, 2024 am 09:00 AM

在Go中,可以使用正規表示式比對時間戳記:編譯正規表示式字串,例如用於匹配ISO8601時間戳記的表達式:^\d{4}-\d{2}-\d{2}T \d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-][0-9]{2}:[0-9]{2})$ 。使用regexp.MatchString函數檢查字串是否與正規表示式相符。

js和vue的關係 js和vue的關係 Mar 11, 2024 pm 05:21 PM

js和vue的關係:1、JS作為Web開發基石;2、Vue.js作為前端框架的崛起;3、JS與Vue的互補關係;4、JS與Vue的實踐應用。

如何在 Go 中使用正規表示式驗證密碼? 如何在 Go 中使用正規表示式驗證密碼? Jun 02, 2024 pm 07:31 PM

Go中使用正規表示式驗證密碼的方法如下:定義正規表示式模式,符合最低密碼要求:至少8個字符,包含小寫字母、大寫字母、數字和特殊字符。使用regexp套件中的MustCompile函式編譯正規表示式模式。使用MatchString方法測試輸入字串是否與正規表示式模式相符。

中文字元過濾:PHP正規表示式實踐 中文字元過濾:PHP正規表示式實踐 Mar 24, 2024 pm 04:48 PM

PHP是一種廣泛應用的程式語言,特別在Web開發領域中非常流行。在網路開發過程中,經常會遇到需要對使用者輸入的文字進行過濾、驗證等操作,其中字元過濾是一項十分重要的操作。本文將介紹如何使用PHP中的正規表示式來實現中文字元過濾的功能,並給出具體的程式碼範例。首先,我們要先明確一下中文字元的Unicode範圍是從u4e00到u9fa5,也就是所有的漢字都處於這個範圍

PHP正規表示式:精確匹配與排除模糊包含 PHP正規表示式:精確匹配與排除模糊包含 Feb 28, 2024 pm 01:03 PM

PHP正規表示式:精確匹配與排除模糊包含正規表示式是一種強大的文字匹配工具,能夠幫助程式設計師在處理文字時進行高效的搜尋、替換和篩選。在PHP中,正規表示式也被廣泛應用於字串處理和資料匹配。本文將重點介紹在PHP中如何進行精確配對和排除模糊包含的操作,同時結合具體的程式碼範例進行說明。精確匹配精確匹配意味著只匹配符合完全條件的字串,不匹配任何變種或包含額外字

See all articles