js正規表示式學習筆記

2021-07-16 05:28:48 字數 1983 閱讀 6557

js正則表達

新建正規表示式有兩種方法:

(1)使用字面量

var regex = /xyz/;

(2)使用regexp建構函式

var regex = new regexp('xyz');

正則的使用

regex.test(string)

string.match(regex)

正則的匹配規則

1.字面量字元和元字元

大部分字元正規表示式,就是字面的含義

/a/匹配a, /b/匹配b

元字元:

(1)點字元.:匹配除回車(\r),換行(\n),行分隔符(\u2028),段分隔符(\u2029),以外的所有字元

/c.t/

(2)位置字元:提示字元所處的位置,主要有兩個字元

^字串的開始位置和$字串的結束位置

(3)選擇符|:表示或關係,cat|dog 11|22

(4)轉義符\:對特殊字元的處理\+

正則中需要用到反斜槓的^、.、[、$、(、)、|、*、+、?、表示,表示恰好重複n次,表示至少重複n次,表示重複不少於n次,不

多於m次

量詞符設定某個模式出現的次數

?表示某個模式出現0或者1次=>

*表示某個模式出現0次或者多次,等同於

+表示某個模式出現1次或多次,等同於

貪婪模式

例如/a+/.match('aaa') => ["aaa"],因為不知道到底是多少個匹配,所以會一直匹配下去,直到匹配不到

非貪婪模式,即阻止貪婪模式的出現

/a+?/.match('aaa') => ["a"]

非貪婪模式還有*?和+?

修飾服表示模式的附加規則,放在正則表達是的最尾部.

可以單個使用,也可以多個一起使用

//單個修飾符

var regex = /test/i;

//多個修飾符

var regex = /test/ig;

修飾符(1)g修飾符

預設情況,正則第一次匹配到之後,就不會往下繼續匹配,g修飾符表示全域性匹配,加上之後,正則物件將匹配

全部符合條件的結果.

(2)i修飾符

預設情況下,正則區分字母的大小寫,加上i修飾符,可以忽略大小寫.

/abc/.test('abc') //false

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

(3)m修飾符

m修飾符表示多行模式(multiline),可以識別換行符(\n)

例:/world$/.test('hello world\n') //false

/world$/m.test('hello world\n') //true

/^b/m.test('a\nb') //true

組匹配正規表示式括號表示分組匹配,貨號中的模式可以用來匹配分組的內容

/fred+/.test('fredd') //true

/(fred)+/.test('fredfred') //true

'abcabc'.match(/(.)b(.)/); => ['abc', 'a', 'c']

非捕獲組

場景:假定匹配foo或者foofoo,正規表示式:/(foo)/,這樣的話占用了乙個組匹配,組匹配中的(括號中)

的內容也會單獨輸出,這個時候,可以使用非捕獲組/(?:foo)/不會單獨輸出括號中的內容.

'abc'.match(/(?:.)b(.)/); => ['abc', 'c']

先行斷言

x(?=y),x只有在y前面才匹配,y不會被計入返回結果.

例:/\d+(?=%)/ => 後面跟著%號的數字

'abc'.match(/b(?=c)/); => ["b"]

先行否定斷言

x(?!y),x只有不再y前面的情況才匹配,y不會被計入返回結果.

例:/\d+(?!%)/ => 後面不是%的數字

/\d+(?!\.)/.exec('3.14'); => ['14']

JS正規表示式 學習筆記

regexp是正規表示式的縮寫。採用new運算子建構函式定義 var reg new regexp box 採用字面量方式 定義 var reg pattern i 忽略大小寫 g 全域性匹配 m 多行匹配 test 檢索字串中的指定值,返回boolern 通常用來判斷所給的值是否符合正規表示式 返...

js學習筆記(正規表示式)

這些心得是萌新作者再學習過程中的作業上發現的,希望大佬們如果發現有錯誤和有更加好的意見務必提出。正規表示式定義的是乙個規則,乙個與字串匹配的規則。我的題目是 1.字串中只能有字母或數字 2.至少是8位 3.數字至少出現兩次 輸入 var str prompt 驗證 function inspecti...

JS筆記 正規表示式

正規表示式用於定義一些字串的規則,計算機可以根據正規表示式,來檢查乙個字串是否符合規則,獲取將字串中符合規則的內容提取出來。建立正規表示式物件 語法 var 變數 new regexp 正規表示式 匹配模式 使用typeof檢查正則物件,會返回object。在建構函式中可以傳遞乙個匹配模式作為第二個...