《紅寶書》 基本引用型別 正規表示式RegExp

2022-06-14 17:24:06 字數 2696 閱讀 8030

正規表示式是按照一定的規則組成的表示式,用於匹配字串。該表示式通常由普通字元、元字元其他特殊字元標記字元組成。

元字元在正規表示式中有一種或多種特殊功能:

//例:匹配10-19 全域性

let pattern=/1[0-9]/g

雙斜槓裡面的pattern表示匹配模式,通常由普通字元與元字元組成。雙斜槓外面的flags稱為標記字元,用於控制正規表示式的行為,可有可沒有。

如果要匹配元字元本身,需要加上反斜槓\轉義:

//匹配第乙個數字 全域性

let pattern=/[0-9]/

//匹配第乙個[0-9]

let pattern=/\[0-9\]/

let expression=new regexp("pattern","flags")

//例:匹配數字 全域性

let pattern=new regexp("[0-9]","g")

regexp可以基於已有的正規表示式例項建立,並修改它們:

const re1=/cat/g

const re2=new regexp(re1) // "/cat/g"

const re2=new regexp(re1,"i") // "/cat/i"

由於regexp建構函式的引數是字串,所以如果要匹配元字元本身,需要二次轉義:

//匹配第乙個數字

let pattern=/[0-9]/

//匹配第乙個[0-9]

let pattern=new regexp("\\[0-9\\]")

//匹配第乙個非數字

let pattern=/^\d/

let pattern=/\d/

//匹配所有的數字

let pattern=/[0-9]/g

//1. 100-200

let pattern1=/[1][0-9][0-9]/

//2. 要麼是數字、要麼是小寫字母、要麼是大寫字母。其中小寫字母優先

let pattern2=/[0-9]|([a-z])|[a-z]/

//3. 乙個小寫字母,有數字(沒有也行)

let pattern3=/[a-z][0-9]*/

//4. 乙個小寫字母,小寫字母後面至少有乙個9

let pattern4=/[a-z][9]+/

//5. 小寫字母至少出現5-10次

let pattern5=/[a-z]/

//6. 小寫字母至少出現1次以上

let pattern6=/[a-z]/

//7. 以數字開頭,以小寫字母結尾

let pattern7=/^[0-9][a-z]$/

//8. 非數字

let pattern8=/[^0-9]/

//9. 特殊字元

regexp建構函式本身也有屬性,這些屬性適用於作用域中所有的正規表示式。這些字元可以提取出exec()test()執行的操作相關的資訊。

//搜尋後面跟著hort的字元

let pattern=/(.)hort/g

if(pattern.test(text))

簡寫形式大多是不合法的ecmascript識別符號,opera不支援簡寫、ie不支援多行匹配

R語言正規表示式

本文主要說明r語言的正規表示式,主要是一些簡單的函式和stringr包常用的方法 正規表示式通常被用來檢索 替換那些符合某個模式 規則 的文字。一些r自帶的正則函式 grep,主要引數為匹配規則,待匹配的字串,返回向量中匹配成功的字串的下標 s c 1234abc456 123abcdefabc 返...

基本正規表示式

匹配除了換行符以外的任意字元 w 匹配字母或數字或下劃線或漢字 字母大寫即反義 不匹配 s 匹配任意的空白符 字母大寫即反義 不匹配 d 匹配數字 字母大寫即反義 不匹配 b 匹配單詞的開始或結束 字母大寫即反義 不匹配 匹配字串的開始 匹配字串的結束 x 匹配除了x以外的任意字元 aeiou 匹配...

正規表示式 基本

字元 d任意乙個數字,0 9中任意乙個 d任意非數字 w任意乙個字母 下劃線 數字。即 a z a z 0 9 w表示除 0 9a za z 之外的字元 s匹配任何空白字元,包括空格 製表符 換頁符等等。等價於 f n r t v s匹配任何非空白字元。匹配任意乙個字元 如要匹配包括 n在內的所有字...