正規表示式基礎 1

2021-07-26 12:01:37 字數 2732 閱讀 1312

正規表示式用於字串的查詢和替換,是使用單個字串來描述,匹配一系列符合某個句法規則的字串。

安利乙個正則圖形化工具,可以在上面測試正則。

js中提供了一些正則的方法

regexp.prototype.test()

string.prototype.match()

string.prototype.replace()

其他3個不列舉了,注意這些方法的呼叫物件,第乙個是由正規表示式呼叫的,字串為引數,第二個第三個是由字串呼叫的,正規表示式為引數

下面進入正題

/abc/是乙個最簡單的模式匹配,匹配包含』abc』且中間不能包含其他字元的字串

/abc/.test('abc')   // return true

/abc/.test('babcb') // return true

/abc/.test('adbc') // return false,中間多了乙個d

如果也想匹配abbbbc怎麼辦,這時候可以把bbbb看成乙個整體,使用*(*的意思是前面一項出現了零個或者多個),這裡就是說b出現了零次或者多次,也可以使用+表示匹配了一次或者多次

/ab*c/.test('abbbbbc')   // return true

/ab*c/.test('abbbc') // return true

/ab*c/.test('ac') // return true

/ab+c/.test('ac') // return false

使用^匹配輸入的開始,在正規表示式中是區分大小寫的,aa中的a因為不是在字串的開始,所以不能匹配aa中的a

/^a/.test('abc') // return true

/^a/.test('aa') // return false

使用$匹配輸入的結束

/a$/.test('aa') // return true
?匹配前面乙個表示式0次或者1次。等價於 ,同理可得,前面說到的*等同於,+等同於

/a?aa?/.test('aa')  /

/ return true

/a?aa?/.test('aaa') /

/ return true

/aaa/.test('aa') // return true

/g (全文查詢出現的所有匹配字元),/gi(全文查詢、忽略大小寫)

/ig(全文查詢、忽略大小寫),使用方法為

//轉義'<'

str = str.replace(/, '<');

這裡要特別聊一下小數點.,小數點.匹配除了換行符(\n)之外的任何單個字元

/.a/.test('aa')  // return true

/.a/.test('aaa') // return true

/.a/.test('aa') // return false

而當我們想匹配乙個url的結尾比如.com,這時候就要用到轉義了,為什麼要轉義,因為小數點.在正則中有自己的用法,如果你想表達.的時候,就需要在前面加乙個轉義字元\

/\.com/.test('acom') // return false貪婪模式指的是正則預設匹配最長的字串

'abcbbc'.match(/a.*c/)  // return ['abcbbc']
這時候我想只返回符合正則的最短字串怎麼辦,就要通過?使用非貪婪模式

'abcbbc'.match(/a.*?c/)  // return ['abc']
那怎麼區分?的這種用法,別擔心,想使用非貪婪模式(最短的模式),?只能跟在數量符後面

*? 

+? ?? 重複0次或1次,使用非貪婪模式

? 重複n到m次,使用非貪婪模式

var text = 'cat, bat, sat, fat';

//注意分組要加括號

var result = text.replace(/(.at)/g, 'word ($1)');

result //word (cat), word (bat), word (sat), word (fat)

n匹

配第n個

捕獲組的

字串,

1是匹配第乙個捕獲組的字串。如果正規表示式中沒有定義捕獲組,則使用空字串。

我們可以看一下對使用者輸入的編碼函式

function

htmlescape

(text)

})}

split的第乙個引數可以是正規表示式,也可以是字串,而第二個引數用來指定返回的陣列不會超過既定大小

var str = 'cat bat sat fat';

var arr1 = str.split(/\s/g); //["cat", "bat", "sat", "fat"]

var arr2 = str.split(/\s/g, 2) // ["cat", "bat"]

更多相關的知識可以移步正規表示式前端使用手冊

正規表示式 1 正規表示式基礎

1.正規表示式基礎 正規表示式描述了一種字串匹配的模式,即可以使使用者通過一系列普通字元或特殊字元構建能夠明確描述文字字串的匹配模式,可以用來檢查某個字串是否含有某種子字串,將匹配的子字串做替換或者從某個字串中取出符合某個條件的子字串等。1.1 正規表示式的基本結構 乙個正規表示式就是由普通字元 如...

正規表示式基礎 1

常用元符號 說明 匹配除換行符以外的任意字元 w匹配字母或數字或下劃線或漢字 s匹配任意的空白符 d匹配數字 b匹配單詞的開始或結束 匹配字串的開始 匹配字串的結束 說明 重複零次或更多次 重複一次或更多次 重複零次或一次 重複n次 重複n次或更多次 重複n到m次 說明 w 匹配任意不是字母,數字,...

正規表示式 1 初識正規表示式

簡單地說,正規表示式就是一套處理字串的規則和方法,以行為單位對字串進行處理,通過特殊的符號的輔助,我們可以快速的過濾,替換某些特定的字串。運維工作中,會有大量訪問日誌,錯誤日誌,大資料。如何能夠快速的過濾出我們需要的內容,這就需要正規表示式。awk,sed,grep egrep 三劍客要想能工作的更...