正則整理

一年沒寫過文章了,一年來對前端也有了更多的瞭解。正則表達式,通用於不少語言,使用正則能夠少走不少彎路。前端

一、正則實際上就是一個字符串。es6

es6裏面有一個拼接字符串的寫法 是: `string${變量名字}`正則表達式

let name = '測試'; hello_name = `hello ${name}`;

等同於測試

hello_name = 'hello' + name;

這個和正則的寫法很相似code

正則也是各類常量與變量的拼接文檔

好比想匹配一個 'my age is 數字' 的 字符串 ,那麼能夠寫成字符串

/my age is (\d{1, 2})/
/my age is (\d{1, 2})/.test('my age is 12')  // true
/my age is (\d{1, 2})/.test('my age are 12')  // false
 這裏 \d 表示 數字, {1, 2}表示前一位(也就是\d)的個數在1~2之間
 不過相似於 {1, 2} 這樣的的位數匹配符 是默認和他的前一位捆綁的
 因此 ()能夠省略     
 那麼就是寫成 
/my age is \d{1, 2}/

可是若是你只須要‘my age is 數字’這句話,不須要像my age is 33456 hhhh ,有其餘多餘的內容
那麼就須要一些限定符號string

/^my age is \d{1, 2}$/
 /^my age is \d{1, 2}$/.test('my age is 12') // true
 /^my age is \d{1, 2}$/.test('my age is 123') // false
 /^my age is \d{1, 2}/.test('my age is 123456') // true   這個沒用$

^表示起始 $表示結尾
說明這句話是以m開頭,以一到倆位數的年齡結尾test

相似於 \d的符號 還有 不少 ,經常使用的有 \d \s \w 等,具體的表示含義能夠參考文檔變量

二、正則括號的使用。

正則中() {} [] 都會用到,沒一個的含義都不同

()多用於 合併

正則 默認 都是 相互獨立
好比  /ab{3}/ 
那麼他只會匹配3次b ,可是隻匹配1次a
若是寫成 /(ab){3}/
那麼就會匹配3次 'ab'

[]多用於 篩選

好比 \d 實際上能夠寫成 [0123456789]
正則會從[]的集合中去匹配,只要符合其中的一個,就算匹配成功
/^[ab]c$/ 匹配 ac 和 bc 都會成功 ,可是匹配 abc 不會成功
[]中能夠在最前面加一個^表示取反
好比 [^ab]表示匹配非 ab 的字符

/[^ab]/.test('a')  //false
/[^ab]/.test('x')  //true
好比 [^\d] 能夠表示 匹配 非數字(固然也能夠寫\D 來表示 匹配非數字)

{}多用於位數限定

{1} 表示限定 爲 一個
 {1, 2} 表示限定 爲 1到2個

這些目前就是正則的最基本用法

若是有須要幫忙指導的能夠下面留言。

相關文章
相關標籤/搜索