03 匹配一組字元(學習筆記)

2022-08-30 03:45:08 字數 2981 閱讀 5524

只想匹配 na sa,不想匹配其他的。

const str =

'sales1.xls\n' +

'orders3.xls\n' +

'sales2.xls\n' +

'sales3.xls\n' +

'apac1.xls\n' +

'europe2.xls\n' +

'na1.xls\n' +

'na2.xls\n' +

'ca1.xls\n' +

'sa1.xls';

const reg = /.a.\.xls/g;

let match;

while ((match = reg.exec(str)))

// na1.xls

// na2.xls

// ca1.xls <-- 會匹配到除 na sa 之外的

// sa1.xls

使用元字元[和]來定義乙個字元集合。

const str =

'sales1.xls\n' +

'orders3.xls\n' +

'sales2.xls\n' +

'sales3.xls\n' +

'apac1.xls\n' +

'europe2.xls\n' +

'na1.xls\n' +

'na2.xls\n' +

'ca1.xls\n' +

'sa1.xls';

const reg = /[ns]a.\.xls/g; // <-- 使用了 定義乙個字符集

let match;

while ((match = reg.exec(str)))

// na1.xls

// na2.xls

// sa1.xls

只想篩選出 sa1 na1 na2 等,但是會篩選出 sam。

const str =

'sales1.xls\n' +

'orders3.xls\n' +

'sales2.xls\n' +

'sales3.xls\n' +

'apac1.xls\n' +

'europe2.xls\n' +

'na1.xls\n' +

'na2.xls\n' +

'ca1.xls\n' +

'sam.xls\n' +

'sa1.xls';

const reg = /[ns]a.\.xls/g;

let match;

while ((match = reg.exec(str)))

// na1.xls

// na2.xls

// sam.xls <-- 會篩選出 sam.xls

// sa1.xls

設定乙個字符集,只匹配 sa1 na1 等。

const str =

'sales1.xls\n' +

'orders3.xls\n' +

'sales2.xls\n' +

'sales3.xls\n' +

'apac1.xls\n' +

'europe2.xls\n' +

'na1.xls\n' +

'na2.xls\n' +

'ca1.xls\n' +

'sam.xls\n' +

'sa1.xls';

const reg = /[ns]a[0123456789]\.xls/g; // <-- 設定 [0123456789] 字符集

let match;

while ((match = reg.exec(str)))

// na1.xls

// na2.xls

// sa1.xls

正規表示式提供了乙個元字元 -(連字元)來定義字元區間。

const str =

'sales1.xls\n' +

'orders3.xls\n' +

'sales2.xls\n' +

'sales3.xls\n' +

'apac1.xls\n' +

'europe2.xls\n' +

'na1.xls\n' +

'na2.xls\n' +

'ca1.xls\n' +

'sam.xls\n' +

'sa1.xls';

const reg = /[ns]a[0-9]\.xls/g; // <-- 用連字元 - 定義字元區間

let match;

while ((match = reg.exec(str)))

// na1.xls

// na2.xls

// sa1.xls

a-z 這個模式不常用,因為它還包含了 [ 和 ^ 等在 ascii 字元表裡排列在 z 和 a 之間的字元。

除了字符集裡的字元,其他都可以匹配。

用元字元 ^ 來表示對乙個字符集取非。

const str =

'sales1.xls\n' +

'orders3.xls\n' +

'sales2.xls\n' +

'sales3.xls\n' +

'apac1.xls\n' +

'europe2.xls\n' +

'na1.xls\n' +

'na2.xls\n' +

'ca1.xls\n' +

'sam.xls\n' +

'sa1.xls';

const reg = /[ns]a[^0-9]\.xls/g; // <-- 對字符集 [0-9] 取非

let match;

while ((match = reg.exec(str)))

// sam.xls

正規表示式(二) 匹配一組字元

一 匹配多個字元中的某乙個 正規表示式是區分大小寫的,比如使用正規表示式cat可以匹配文字cat而不能匹配文字cat,如果我們要匹配出含有文字cat的所有結果,而不關心它們大小寫的問題,這是就要需要使用元字元 和元字元 來建立乙個字元集合,方括號間的所有字元組成了字元集合,字元集合的匹配結果是能夠與...

Less學習筆記5 匹配模式

比如 用css去畫乙個三角 這個時候在頁面上會出現乙個朝下的紅色三角形,如果想讓三角形朝上修改 中的 border color transparent transparent red transparent 但是在ie中,此時的小三角會出現乙個黑色的小背景 此時的處理 根據三角的方向,對border...

12 匹配一次或多次出現的字元

說明 有時,你需要匹配一行中一次或多次出現的字元 或一組字元 這意味著它至少出現了一次,並可能重複出現。你可以使用 字元來檢查是否是這種情況。需要記住,字元或模式必須連續出現。也就是說,字元必須有重複一遍。例如,a g將在 abc 中找到乙個匹配,並返回 a 因為有 它也會在 aabc 中找到乙個匹...