亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

淺談?wù)齽t表達(dá)式

lookSomeone / 469人閱讀

摘要:淺談?wù)齽t表達(dá)式正則表達(dá)式是對(duì)字符串進(jìn)行查找替換和提取等操作的工具。參數(shù)參數(shù)是一個(gè)字符串,制訂了正則表達(dá)式的模式和其他正則表達(dá)式參數(shù)是一個(gè)可選的字符串,包含屬性,分別用于指定全局匹配區(qū)分大小寫(xiě)的匹配和多行匹配。

淺談?wù)齽t表達(dá)式

正則表達(dá)式是對(duì)字符串進(jìn)行查找替換和提取等操作的工具。有兩種寫(xiě)法:

直接量語(yǔ)法

/pattern/attribues

RegExp對(duì)象語(yǔ)法

new RegExp(pattern,attributes);

舉個(gè)例子,比如我們要在一段字符串中查找所以數(shù)字,如下:

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"]

只需要這么簡(jiǎn)單的一段代碼就能在控制臺(tái)打印出我們需要的結(jié)果了。如果用一般的寫(xiě)法,我們可能需要遍歷字符串,還要對(duì)字符串的內(nèi)容進(jìn)行判斷,就要寫(xiě)一大段代碼,而利用正則表達(dá)式,我們可以很輕松的達(dá)成我們的需要。

再舉個(gè)例子,我們要對(duì)"35621237.61"這串?dāng)?shù)字添加千分位分隔符:

var a = "35621237.61";
        var reg=/(?=(d{3})+(.|$))/g;
        console.log(a.replace(reg,","))
        //35,621,237.61

就這樣就搞定了!

不過(guò)正則表達(dá)式有個(gè)缺點(diǎn),就是符號(hào)太多,有時(shí)候看上去一臉懵逼,為了了解正則表達(dá)式,我們現(xiàn)在來(lái)看看正則表達(dá)式的各種屬性,以利用這個(gè)強(qiáng)大的工具。

參數(shù)

參數(shù) pattern 是一個(gè)字符串,制訂了正則表達(dá)式的模式和其他正則表達(dá)式

參數(shù) attributes 是一個(gè)可選的字符串,包含屬性"g"、"i"、"m",分別用于指定全局匹配、區(qū)分大小寫(xiě)的匹配和多行匹配。

修飾符
i 執(zhí)行對(duì)大小寫(xiě)不敏感的匹配
g 全局匹配,即查找所有匹配
m 執(zhí)行多行匹配
方括號(hào)

方括號(hào)用于查找某個(gè)范圍內(nèi)的字符

[abc]  查找方括號(hào)之間的任何字符
[^abc] 查找任何不在方括號(hào)之間的字符
[0-9]  查找任何從 0 至 9 的數(shù)字
[a-z]  查找任何從小寫(xiě) a 到小寫(xiě) z 的字符
[A-Z]  查找任何從大寫(xiě) A 到大寫(xiě) Z 的字符
[adgk] 查找給定集合內(nèi)的任何字符
元字符

即特殊符號(hào)

.    查找單個(gè)字符,除了換行和行結(jié)束符
w    查找單詞字符
W    查找非單詞字符
d    查找數(shù)字
D    查找非數(shù)字字符
s    查找空白字符
S    查找非空白字符
    匹配單詞邊
B    匹配非單詞邊界