使用java模式匹配器提取特定的链接模式

时间:2013-06-28 19:53:21

标签: java regex

假设我有一个类似下面的链接以及一堆其他链接

http://testttt.com/met?tag1=x&tag2=y&tag3=z%20a

如果以http://testttt.com/met

开头,我想提取整个链接

我尝试了以下操作,但它无法正常工作

Pattern pattern = Pattern.compile("http://testttt.com/met?[a-zA-Z][0-9]");
Matcher match = pattern.matcher("http://testttt.com/met?tag1=x&tag2=y&tag3=z%20a");
if (match.find()) {
   System.out.println("match found");
}

2 个答案:

答案 0 :(得分:3)

为什么不使用

if (str.startsWith("http://testttt.com/met")) {
  ...
}

答案 1 :(得分:0)

如果您的字符串只包含网址,请使用Reimeus提供的答案。如果您尝试从一堆文本中提取网址,则可以使用此模式:

Pattern pattern = Pattern.compile("http://testttt\\.com/met\\??[^\\s]*");

它包含所有必要的转义符,并匹配下一个空格的所有内容。