2017/12/15

正規表示式 Regular Expression ?= Positive Lookahead Assertion


正規表示式(Regular Expression) 是一個用來描述或是比對某個規則的文字

一直以來我都沒有很透徹地去瞭解他每個pattern

都是看到什麼自己不知道的用法才去查



今天剛好看到了一個東西 ?= 想說研究一下

?=是一種 zero-width assertion

細分下他是 Positive Lookahead Assertion

我一直對名詞釋義很苦手,直接來看例子吧

Example 1:

\d+(?=%) 會比對成功 % 前面的數字

let a = '213982397%'.match(/\d+(?=%)/);
console.log(a[0]);
> 213982397


Example 2:

\w+(?=ple) 會比對成功 % 前面的文字

let a = 'cable%'.match(/\w+(?=ble)/);
console.log(a[0]);
> ca
let b = 'fable%'.match(/\w+(?=ble)/);
console.log(b[0]);
> fa
let c = 'table%'.match(/\w+(?=ble)/);
console.log(c[0]);
> ta

沒有留言:

張貼留言