2014-09-04 106 views
0

我有一個變量爲30_KK_1_KK_2如何在這種情況下使用正則表達式?

如何獲得第一個KK_和第二個KK_之後的值?

,使輸出的第一KK_是1和

第二KK_是2

我已經這樣

var str = "30_KK_1_KK_2"; 
var n[] = str.split('_KK_'); 
alert(n[0]); 
alert(n[1]); 
+0

無功海峽= 「30_KK_1_KK_2」; – Donal 2014-09-04 09:15:18

+0

我認爲strpos和strrpos可能會幫助你。 – Yamu 2014-09-04 09:15:50

回答

1

試了一下你有幾個錯別字。

1)字符串常量

2)var n[]周圍沒有字符串引號是無效的......只是var n

3)您需要獲得元素1和2的元素0是 「30」

var str = "30_KK_1_KK_2"; 
var n = str.split('_KK_'); 
alert(n[1]); 
alert(n[2]); 

的jsfiddle:http://jsfiddle.net/TrueBlueAussie/w3mLgowc/1/

正則表達式是可能overkil l這樣一個簡單的問題(和分隔符是固定的)。

+0

非常感謝,它的工作很好,看起來很簡單。再次感謝。 – Pawan 2014-09-04 09:42:59

0

如果你想真正使用正則表達式,你可以試試這個代碼:

var str = "30_KK_1_KK_2"; 
regex = /.*KK_(\d*)_KK_(\d*)/g; 
value_1 = str.replace(regex,"$1"); 
value_2 = str.replace(regex,"$2"); 
alert(value_1); 
alert(value_2); 
+1

最好的檢查您的正則表達式...您的警報返回原始字符串:http://jsfiddle.net/TrueBlueAussie/w3mLgowc/2/ – 2014-09-04 09:20:33

+0

謝謝我更改了代碼。 – jedema 2014-09-04 09:39:46

+0

更好,但它只返回第二個值:http://jsfiddle.net/TrueBlueAussie/w3mLgowc/3/他希望第二個*和第三個。 – 2014-09-04 09:56:17

相關問題