1
我試圖從一個URL頁面名稱和查詢字符串,它不應該包含.html
前瞻正則表達式產生意想不到的組
這是Java中的示例代碼:
public class TestRegex {
public static void main(String[] args) {
Pattern pattern = Pattern.compile("/test/(((?!\\.html).)+)\\?(.+)");
Matcher matcher = pattern.matcher("/test/page?param=value");
System.out.println(matcher.matches());
System.out.println(matcher.group(1));
System.out.println(matcher.group(2));
}
}
通過運行此代碼可以得到以下的輸出:
真正
頁
Ë
我的正則表達式有什麼問題,所以第二組包含字母e
而不是param=value
?
哇!驚人的全面! – yatskevich 2010-06-03 14:19:14
@Ivan,很高興聽到! :) – 2010-06-03 16:25:18