正規表示式是按照一定的規則組成的表示式,用於匹配字串。該表示式通常由普通字元、元字元、其他特殊字元和標記字元組成。
元字元在正規表示式中有一種或多種特殊功能:
//例:匹配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在內的所有字...