以下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")));
這將只打印數量。你可以把它變成一個變量。記得在聲明字符串進行調試時逃避你的"
!
我們無法看到您當前的正則表達式,除非您在您的問題中發佈它... –
使用捕獲組 –
我已經添加了我的正則表達式 –