答案 0 :(得分:0)
以下java语句将只返回一个数字。它使用积极的先行断言。
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脚本中的walkaround将是:
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")));
这将仅打印数字。你可以把它变成一个变量。在声明要调试的字符串时,请记住要逃避"
!