一个url,如http://xxx/xxx/xx/xx/x/x/xxx/x/xx/xx.html
如何匹配出url中还有某个关键词的介于/和/之间的路径
比如:http://www.abc.com/2d/df/usnsdp_fun/sdkw.html
检索关键词fun,最后匹配出usnsdp_fun(整个url中关键词有且只有一个)
一个url,如http://xxx/xxx/xx/xx/x/x/xxx/x/xx/xx.html
如何匹配出url中还有某个关键词的介于/和/之间的路径
比如:http://www.abc.com/2d/df/usnsdp_fun/sdkw.html
检索关键词fun,最后匹配出usnsdp_fun(整个url中关键词有且只有一个)
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后有星号的,不知道为什么显示不出来
测试代码:
java
import 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
4 回答1.7k 阅读✓ 已解决
4 回答1.5k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
4 回答2.3k 阅读
3 回答1.2k 阅读✓ 已解决
2 回答835 阅读✓ 已解决
2 回答1.4k 阅读
/^\/\w+fun\/$/