JS正則表達(dá)式獲取分組內(nèi)容的方法詳解
支持多次匹配的方式:
var testStr = "now test001 test002";
var re = /test(\d+)/ig;
var r = "";
while(r = re.exec(testStr)) {
alert(r[0] + " " + r[1]);
}
此外也可以用testStr.match(re),但是這樣的話就不能有g(shù)的選項(xiàng),而且只能得到第一個(gè)匹配。
另外備忘一下:
正則表達(dá)式對(duì)象的屬性及方法:
預(yù)定義的正則表達(dá)式擁有有以下靜態(tài)屬性:input, multiline, lastMatch, lastParen, leftContext,
rightContext和$1到$9。其中input和multiline可以預(yù)設(shè)置。其他屬性的值在執(zhí)行過(guò)exec或test方法后被根據(jù)
不同條件賦以不同的值。許多屬性同時(shí)擁有長(zhǎng)和短(perl風(fēng)格)的兩個(gè)名字,并且,這兩個(gè)名字指向同一個(gè)值。(JavaScript模擬perl的正則表達(dá)式)
正則表達(dá)式對(duì)象的屬性:
屬性 含義
$1...$9 如果它(們)存在,是匹配到的子串
$_ 參見(jiàn)input
$* 參見(jiàn)multiline
$& 參見(jiàn)lastMatch
$+ 參見(jiàn)lastParen
$` 參見(jiàn)leftContext
$'' 參見(jiàn)rightContext
constructor 創(chuàng)建一個(gè)對(duì)象的一個(gè)特殊的函數(shù)原型
global 是否在整個(gè)串中匹配(bool型)
ignoreCase 匹配時(shí)是否忽略大小寫(xiě)(bool型)
input 被匹配的串
lastIndex 最后一次匹配的索引
lastParen 最后一個(gè)括號(hào)括起來(lái)的子串
leftContext 最近一次匹配以左的子串
multiline 是否進(jìn)行多行匹配(bool型)
prototype 允許附加屬性給對(duì)象
rightContext 最近一次匹配以右的子串
source 正則表達(dá)式模式
lastIndex 最后一次匹配的索引
正則表達(dá)式對(duì)象的方法:
方法 含義
compile 這個(gè)應(yīng)該是指重新定義正則表達(dá)式的內(nèi)容
exec 執(zhí)行查找,可以利用while的方式多次查找
test 進(jìn)行匹配
toSource 返回特定對(duì)象的定義(literal representing),其值可用來(lái)創(chuàng)建一個(gè)新的對(duì)象。重載Object.toSource方法得到的。
toString 返回特定對(duì)象的串。重載Object.toString方法得到的。
valueOf 返回特定對(duì)象的原始值。重載Object.valueOf方法得到
例子:
<script language="JavaScript">
var myReg = /(w+)s(w+)/;
var str = "John Smith";
var newstr = str.replace(myReg, "$2, $1");
document.write(newstr);
</script>
將輸出"Smith, John"
- JS正則表達(dá)式獲取字符串中特定字符的方法
- javascript 獲取url參數(shù)的正則表達(dá)式(用來(lái)獲取某個(gè)參數(shù)值)
- node.js正則表達(dá)式獲取網(wǎng)頁(yè)中所有鏈接的代碼實(shí)例
- 獲取服務(wù)器傳來(lái)的數(shù)據(jù) 用JS去空格的正則表達(dá)式
- javascript 獲取鏈接文件地址中第一個(gè)斜線內(nèi)的正則表達(dá)式
- JavaScript使用正則表達(dá)式獲取全部分組內(nèi)容的方法示例
- JS正則替換掉小括號(hào)及內(nèi)容的方法
- 盤(pán)點(diǎn)javascript 正則表達(dá)式中 中括號(hào)的【坑】
- JS 正則表達(dá)式中小括號(hào)的應(yīng)用
- JS使用正則表達(dá)式獲取小括號(hào)、中括號(hào)及花括號(hào)內(nèi)容的方法示例
相關(guān)文章
JS檢測(cè)數(shù)組類(lèi)型的方法小結(jié)
這篇文章主要介紹了js檢測(cè)數(shù)組類(lèi)型的方法小結(jié),有instanceof方法Array.isArray() 方法和Object.prototype.toString.call()方法,都是比較常用的,需要的朋友可以參考下2017-03-03js使用xml數(shù)據(jù)載體實(shí)現(xiàn)城市省份二級(jí)聯(lián)動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了js使用xml數(shù)據(jù)載體實(shí)現(xiàn)城市省份二級(jí)聯(lián)動(dòng)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11js代碼運(yùn)行報(bào)錯(cuò)Warning:To?load?an?ES?module,?set?"type&q
最近在學(xué)習(xí)ES6的過(guò)程中,和運(yùn)行javascript文件時(shí)進(jìn)行了報(bào)錯(cuò),下面這篇文章主要給大家介紹了關(guān)于js代碼運(yùn)行報(bào)錯(cuò)Warning:To?load?an?ES?module,?set?"type":"module"in?the?package.json?or?use?the?.mjs的相關(guān)資料,需要的朋友可以參考下2023-04-04js當(dāng)一個(gè)變量為函數(shù)時(shí) 應(yīng)該注意的一點(diǎn)細(xì)節(jié)小結(jié)
變量testFun為一個(gè)匿名函數(shù),匿名函數(shù)返回的一個(gè)testFun.init對(duì)象(也是一個(gè)匿名函數(shù))2011-12-12JS中的算法與數(shù)據(jù)結(jié)構(gòu)之鏈表(Linked-list)實(shí)例詳解
這篇文章主要介紹了JS中的算法與數(shù)據(jù)結(jié)構(gòu)之鏈表(Linked-list),結(jié)合實(shí)例形式詳細(xì)分析了javascript中鏈表的概念、原理、定義及常用操作技巧,需要的朋友可以參考下2019-08-08js get和post請(qǐng)求實(shí)現(xiàn)代碼解析
這篇文章主要介紹了js get和post實(shí)現(xiàn)代碼解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02第七篇Bootstrap表單布局實(shí)例代碼詳解(三種表單布局)
Bootstrap提供了三種表單布局:垂直表單,內(nèi)聯(lián)表單和水平表單。接下來(lái)通過(guò)本文給大家介紹Bootstrap表單布局實(shí)例代碼詳解,非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起學(xué)習(xí)吧2016-06-06javascript中return,return true,return false三者的用法及區(qū)別
這篇文章主要介紹了javascript中return,return true,return false三者的用法及區(qū)別的相關(guān)資料,需要的朋友可以參考下2015-11-11