JSRegex擷取分組內容的方法

來源:互聯網
上載者:User

來自:http://liudaoru.iteye.com/blog/137290

 

剛才寫的居然丟掉了,鬱悶,重新謝了。

支援多次匹配的方式:

js 代碼
  1. var testStr = "now test001 test002";   
  2. var re = /test(\d+)/ig;    
  3. var r = "";   
  4. while(r = re.exec(testStr)) {   
  5.     alert(r[0] + "  " + r[1]);   
  6. }  

此外也可以用testStr.match(re),但是這樣的話就不能有g的選項,而且只能得到第一個匹配。

另外備忘一下:

Regex對象的屬性及方法: 
  預定義的Regex擁有有以下靜態屬性:input, multiline, lastMatch, lastParen, leftContext,

rightContext和$1到$9。其中input和multiline可以預設定。其他屬性的值在執行過exec或test方法後被根據

不同條件賦以不同的值。許多屬性同時擁有長和短(perl風格)的兩個名字,並且,這兩個名字指向同一個值。(JavaScript類比perl的Regex)

Regex對象的屬性: 
屬性 含義 
$1...$9 如果它(們)存在,是匹配到的子串  
$_ 參見input  
$* 參見multiline  
$& 參見lastMatch  
$+ 參見lastParen  
$` 參見leftContext  
$''          參見rightContext  
constructor     建立一個對象的一個特殊的函數原型  
global        是否在整個串中匹配(bool型)  
ignoreCase     匹配時是否忽略大小寫(bool型)  
input        被匹配的串  
lastIndex      最後一次匹配的索引  
lastParen      最後一個括弧括起來的子串  
leftContext     最近一次匹配以左的子串  
multiline      是否進行多行匹配(bool型)  
prototype      允許附加屬性給對象  
rightContext    最近一次匹配以右的子串  
source        Regex模式  
lastIndex      最後一次匹配的索引 

Regex對象的方法: 
方法 含義 
compile       這個應該是指重新定義Regex的內容
exec       執行尋找,可以利用while的方式多次尋找

test        進行匹配  
toSource      返回特定對象的定義(literal representing),其值可用來建立一個新的對象。重載Object.toSource方法得到的。  
toString      返回特定對象的串。重載Object.toString方法得到的。  
valueOf       返回特定對象的原始值。重載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" 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.