一年沒寫過文章了,一年來對前端也有了更多的瞭解。正則表達式,通用於不少語言,使用正則能夠少走不少彎路。前端
一、正則實際上就是一個字符串。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個
這些目前就是正則的最基本用法
若是有須要幫忙指導的能夠下面留言。