RegExp物件 正規表示式

2021-08-19 10:23:03 字數 2647 閱讀 5121

正規表示式(regular expression)

1.建構函式:

var regex = new

regexp('xyz', 'i');

2.字面量

var regex = /xyz/i;
g:global,全文搜尋,不新增的話搜尋到第乙個結果停止搜尋

i:ingore case,忽略大小寫,預設大小寫敏感

m:multiple lines,多行搜尋

( [出現n次

出現n到m次,在既可能匹配n次也可能匹配m次時,會盡可能多地匹配,即會匹配m次,這是所謂的貪婪模式。非貪婪模式,盡可能少的匹配, 形式為?

至少出現n次分組–

()把多個字元作為乙個整體

\1()配合使用,表示()裡面匹配的字元本身 。比如有字元abc,查詢([a-z]),替換'\1',,則字元會被替換為'a','b','c',。前瞻–

exp1(?=exp2)匹配後面是exp2的exp1

exp1(?!exp2)匹配後面不是exp2的exp1

var reg = /^(https?:)?\/\/.+/

var reg2 = /^1[3578]\d$/
// 測試字串引數中是否存正規表示式模式,如果存在則返回true,否則返回false

var r = /x/g;

var s = '_x_x';

r.lastindex // 0

r.test(s) // true

// 如果正規表示式帶有g修飾符,則每一次test方法都從上一次結束的位置開始向後匹配。

r.lastindex // 2

r.test(s) // true

// 如果正則模式是乙個空字串,則匹配所有字串。

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

// 返回匹配結果。如果發現匹配,就返回乙個陣列,成員是匹配成功的子字串,否則返回null

var r = /a(b+)a/; //有圓括號的情況下,返回的陣列會包括多個成員,後面的成員就是圓括號對應的匹配成功的組

var arr = r.exec('_abbba_aba_');

arr // ["abbba", "bbb"]

//整個模式匹配成功的開始位置(從0開始計數)

arr.index // 1

//整個原字串。

arr.input // "_abbba_aba_"

//如果正規表示式加上g修飾符,則可以使用多次exec方法

var reg = /a/g;

var str = 'abc_abc_abc'

var r1 = reg.exec(str);

r1 // ["a"]

r1.index

// 0

reg.lastindex // 1

var r2 = reg.exec(str);

r2 // ["a"]

r2.index

// 4

reg.lastindex // 5

var r3 = reg.exec(str);

r3 // ["a"]

r3.index

// 8

reg.lastindex // 9

var s = '_x_x';

var r1 = /x/;

var r2 = /y/;

s.match(r1) // ["x"]

s.match(r2) // null

//與正則物件的exec方法非常類似,不同的是若帶有g修飾符,,會一次性返回所有匹配成功的結果

var s = 'abba';

var r = /a/g;

s.match(r) // ["a", "a"]

// 返回第乙個滿足條件的匹配結果在整個字串中的位置。如果沒有任何匹配,則返回-1。

'_x_x'.search(/x/) // 1

str.replace(search, replacement)//替換匹配的值,第乙個是正規表示式,表示搜尋模式,第二個是替換的內容,可以是函式。

'aaa'.replace(/a/, 'b')// "baa"

'aaa'.replace(/a/g, 'b')// "bbb"

// 按照正則規則分割字串,返回乙個由分割後的各個部分組成的陣列。

str.split(separator, [limit]) //第乙個引數是正規表示式,表示分隔規則,第二個引數是返回陣列的最大成員數。

正規表示式RegExp物件

字面量的方式 var patt 匹配規則 修飾符 邊界的意思 new關鍵字 var patt new regexp 匹配規則 修飾符 test 檢測指定字串中是否含有某種匹配規則 exec 檢索字串中指定的值。返回找到的值,並確定其位置 字面量的方式 var patt 匹配規則 修飾符 邊界的意思 ...

js 正規表示式物件 RegExp

語法 var patt new regexp pattern,modifiers 或更簡單的方法 var patt pattern modifiers 用 來表示表示式 i 修飾符是用來執行不區分大小寫的匹配。g 修飾符是用於執行全文的搜尋 而不是在找到第乙個就停止查詢,而是找到所有的匹配 注意 當...

JS正規表示式 RegExp物件)

regexp物件用於規定在文字中檢索的內容 什麼是regexp?regexp是正規表示式的縮寫 當您檢索某個檔案時,您可以規定某個要檢索的模式來描述要檢索的內容。regexp就是這種模式 定義regexp 通過new關鍵字來定義regexp物件。以下 定義了名為patt的regexp物件,其模式是e...