摘要:淺談正則表達式正則表達式是對字符串進行查找替換和提取等操作的工具。參數參數是一個字符串,制訂了正則表達式的模式和其他正則表達式參數是一個可選的字符串,包含屬性,分別用于指定全局匹配區分大小寫的匹配和多行匹配。
淺談正則表達式
正則表達式是對字符串進行查找替換和提取等操作的工具。有兩種寫法:
直接量語法
/pattern/attribues
RegExp對象語法
new RegExp(pattern,attributes);
舉個例子,比如我們要在一段字符串中查找所以數字,如下:
var str = "1 23 sda 34 adl34 7655 87 a 90 0"; console.log(str.match(/d+/g)) // ["1", "23", "34", "34", "7655", "87", "90", "0"]
只需要這么簡單的一段代碼就能在控制臺打印出我們需要的結果了。如果用一般的寫法,我們可能需要遍歷字符串,還要對字符串的內容進行判斷,就要寫一大段代碼,而利用正則表達式,我們可以很輕松的達成我們的需要。
再舉個例子,我們要對"35621237.61"這串數字添加千分位分隔符:
var a = "35621237.61"; var reg=/(?=(d{3})+(.|$))/g; console.log(a.replace(reg,",")) //35,621,237.61
就這樣就搞定了!
不過正則表達式有個缺點,就是符號太多,有時候看上去一臉懵逼,為了了解正則表達式,我們現在來看看正則表達式的各種屬性,以利用這個強大的工具。
參數參數 pattern 是一個字符串,制訂了正則表達式的模式和其他正則表達式
參數 attributes 是一個可選的字符串,包含屬性"g"、"i"、"m",分別用于指定全局匹配、區分大小寫的匹配和多行匹配。
修飾符i 執行對大小寫不敏感的匹配 g 全局匹配,即查找所有匹配 m 執行多行匹配方括號
方括號用于查找某個范圍內的字符
[abc] 查找方括號之間的任何字符 [^abc] 查找任何不在方括號之間的字符 [0-9] 查找任何從 0 至 9 的數字 [a-z] 查找任何從小寫 a 到小寫 z 的字符 [A-Z] 查找任何從大寫 A 到大寫 Z 的字符 [adgk] 查找給定集合內的任何字符元字符
即特殊符號
. 查找單個字符,除了換行和行結束符 w 查找單詞字符 W 查找非單詞字符 d 查找數字 D 查找非數字字符 s 查找空白字符 S 查找非空白字符 匹配單詞邊 B 匹配非單詞邊界