次の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")));
これが唯一の番号が印刷されます。それを変数に入れることができます。デバッグ用の文字列を宣言するときは、"
をエスケープしてください。
あなたの質問に投稿しない限り現在の正規表現が表示されません... –
キャプチャグループを使用 –
正規表現 –