2016-08-25 105 views
0

我在JavaScript中寫了一個正則表達式表達式,我敢肯定這是非常基本的,但我正在努力讓自己的頭靠近它。正則表達式獲得字符串後的整數

基本上我需要抓住一個URL中的字符串後面的整數,並將答案存儲到一個變量中。例如: www.examplepage.com/?0,1,3,north12

所以從那個URL我需要抓住字符串「北」後的整數,但是當我這樣做時,我似乎只能返回「north12」而不是「12」。

正則表達式我至今是:/north(\d+)/

+2

我們無法看到您當前的正則表達式,除非您在您的問題中發佈它... –

+0

使用捕獲組 –

+0

我已經添加了我的正​​則表達式 –

回答

0

以下Java語句將返回只是一個數字。它使用積極的lookahead斷言。

String s = "www.examplepage.com/?0,1,3,north12"; 
    Pattern p = Pattern.compile("(?<=north)[0-9]+"); 
    Matcher m = p.matcher(s); 
    if (m.find()) { 
     System.out.println(m.group().toString()); 
    } 

>>12 

的正則表達式是(?<=north)[0-9]+

在Java腳本的外觀圖釋是:

function removeLeadingCharacters(string){ 
    return string.replace(/.*north(?=[0-9]+)/g, ""); // $& means the whole matched string 
}; 
function revStr(str) { 
    return str.split('').reverse().join(''); 
} 
function removeTrailingCharacters(string){ 
    return revStr(revStr(string).match(/[0-9]+$/g, " ")[0]); // $& means the whole matched string 
}; 

window.alert(removeTrailingCharacters(removeLeadingCharacters("asdadasdnorth12asda"))); 

這將只打印數量。你可以把它變成一個變量。記得在聲明字符串進行調試時逃避你的"

+0

這是我想要實現的一個基本示例。然而,我只能獲得north1,出於某種原因,輸出是north1,1? ' \t \t Link \t \t ' –

相關問題