JS使用正則表達(dá)式獲取小括號(hào)、中括號(hào)及花括號(hào)內(nèi)容的方法示例
本文實(shí)例講述了JS使用正則表達(dá)式獲取小括號(hào)、中括號(hào)及花括號(hào)內(nèi)容的方法。分享給大家供大家參考,具體如下:
正則表達(dá)式的() [] {}有不同的意思。
() 是為了提取匹配的字符串。表達(dá)式中有幾個(gè)()就有幾個(gè)相應(yīng)的匹配字符串。
(\s*)表示連續(xù)空格的字符串。
[]是定義匹配的字符范圍。比如 [a-zA-Z0-9] 表示相應(yīng)位置的字符要匹配英文字符和數(shù)字。[\s*]表示空格或者*號(hào)。
{}一般用來(lái)表示匹配的長(zhǎng)度,比如 \s{3} 表示匹配三個(gè)空格,\s[1,3]表示匹配一到三個(gè)空格。
(0-9) 匹配 '0-9′ 本身。 [0-9]* 匹配數(shù)字(注意后面有 *,可以為空)[0-9]+ 匹配數(shù)字(注意后面有 +,不可以為空){1-9} 寫(xiě)法錯(cuò)誤。
[0-9]{0,9} 表示長(zhǎng)度為 0 到 9 的數(shù)字字符串。
小括號(hào)是用于將基本的單元合成一個(gè)大的單元,而中括號(hào)就是將多個(gè)基本單元組成一個(gè)選擇域,表示其中一個(gè)的意思。
例子:
小括號(hào)
例子1、我們想匹配123這個(gè)整體
(123)就是匹配"123"這個(gè)整體,
大括號(hào)
而[123]就是匹配1/2/3(1或者2或者3)
再舉個(gè)腳本之家小編碰到的一個(gè)問(wèn)題
例如我們想匹配 多個(gè)替換<p> </p>中間多個(gè) 的時(shí)候
先用中括號(hào)[]
<p>[ ]*</p>
匹配內(nèi)容的就如下圖所示
那下面用小括號(hào)試試()
<p>( )*</p>
就是我們預(yù)想的效果。
其實(shí)匹配的正則比較好的是這個(gè),里面萬(wàn)一空字符肯定就不行了
<p>(\s|\ \;| | |\xc2\xa0)*</p>
JS 正則表達(dá)式 獲取小括號(hào) 中括號(hào) 花括號(hào)內(nèi)的內(nèi)容
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>www.dbjr.com.cn JS獲取括號(hào)內(nèi)容</title> </head> <body> <script type="text/javascript"> var str="123{xxxx}456[我的]789123[你的]456(1389090)789"; var regex1 = /\((.+?)\)/g; // () 小括號(hào) var regex2 = /\[(.+?)\]/g; // [] 中括號(hào) var regex3 = /\{(.+?)\}/g; // {} 花括號(hào),大括號(hào) // 輸出是一個(gè)數(shù)組 console.log(str.match(regex1)); console.log(str.match(regex2)); console.log(str.match(regex3)); </script> </body> </html>
使用在線HTML/CSS/JavaScript代碼運(yùn)行工具http://tools.jb51.net/code/HtmlJsRun測(cè)試運(yùn)行結(jié)果如下:
附:JAVA正則匹配語(yǔ)句
regex = "(?<=\\[)(\\S+)(?=\\])"
PS:這里再為大家提供2款非常方便的正則表達(dá)式工具供大家參考使用:
JavaScript正則表達(dá)式在線測(cè)試工具:
http://tools.jb51.net/regex/javascript
正則表達(dá)式在線生成工具:
http://tools.jb51.net/regex/create_reg
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《JavaScript正則表達(dá)式技巧大全》、《JavaScript替換操作技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript中json操作技巧總結(jié)》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
相關(guān)文章
原生JS實(shí)現(xiàn)幾個(gè)常用DOM操作API實(shí)例
下面小編就為大家?guī)?lái)一篇原生JS實(shí)現(xiàn)幾個(gè)常用DOM操作API實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-01-01JavaScript實(shí)現(xiàn)函數(shù)重載的代碼示例
在JavaScript中并沒(méi)有直接支持函數(shù)重載的機(jī)制,但是可以通過(guò)一些技巧來(lái)模擬函數(shù)重載的效果,比如使用參數(shù)判斷,使用默認(rèn)參數(shù),對(duì)象參數(shù),這些方法都可以實(shí)現(xiàn)類(lèi)似函數(shù)重載的效果,所以本文就給大家介紹一下JavaScript如何實(shí)現(xiàn)函數(shù)重載,需要的朋友可以參考下2023-08-08javascript 數(shù)組排序函數(shù)sort和reverse使用介紹
reverse方法將一個(gè)Array對(duì)象中的元素位置進(jìn)行反轉(zhuǎn),sort方法返回一個(gè)元素已經(jīng)進(jìn)行了排序的 Array 對(duì)象,下面為大家介紹下2013-11-11javascript 判斷數(shù)組是否已包含了某個(gè)元素的函數(shù)
javascript判斷數(shù)組是否已包含了某個(gè)元素的js函數(shù),方便數(shù)組的判斷。2010-05-05easyui關(guān)于validatebox實(shí)現(xiàn)多重規(guī)則驗(yàn)證的方法(必看)
下面小編就為大家?guī)?lái)一篇easyui關(guān)于validatebox實(shí)現(xiàn)多重規(guī)則驗(yàn)證的方法(必看)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-04-04js實(shí)現(xiàn)單層數(shù)組轉(zhuǎn)多層樹(shù)
這篇文章主要介紹了js實(shí)現(xiàn)單層數(shù)組轉(zhuǎn)多層樹(shù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06JavaScript對(duì)象數(shù)組的排序處理方法
這篇文章主要介紹了JavaScript對(duì)象數(shù)組的排序處理方法,以實(shí)例形式分析了JavaScript對(duì)象數(shù)組的排序原理與相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10js如何實(shí)現(xiàn)設(shè)計(jì)模式中的模板方法
都知道在js中如果定義兩個(gè)相同名稱(chēng)的方法,前一個(gè)方法就會(huì)被后一個(gè)方法覆蓋掉,使用此特點(diǎn)就可以實(shí)現(xiàn)模板方法,感興趣的朋友可以了解下本文哈2013-07-07