url匹配的正则问题

阅读 4.1k
3 个回答

/^\/\w+fun\/$/

public static void main(String[] args){
Pattern p = Pattern.compile("\\w*fun\\w*");
Matcher m = p.matcher("http://www.abc.com/2d/df/usnsdp_fun/sdkw.html");
if (m.find()){
System.out.println(m.group());
}
}

java的,没做过多测试,楼主再测测,这里\w包括数字字母及下划线,不包括斜杠,\w后有星号的,不知道为什么显示不出来

测试代码:

javaimport java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Test {
    public static void main(String[] args) {
        System.out.println(getFun("http://www.abc.com/2d/df/usnsdp_fun/sdkw.html"));
        System.out.println(getFun("http://www.abc.com/2d/df/usnsdp_fun_abcd/sdkw.html"));
    }

    public static String getFun(String url) {
        Pattern p = Pattern.compile("[^/]*fun[^/]*");
        Matcher m = p.matcher(url);
        if (m.find()){
            return m.group();
        }
        return "";
    }
}

控制台输出:

usnsdp_fun
usnsdp_fun_abcd
推荐问题