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

使用java模式匹配器提取特定链接模式,java,regex,Java,Regex,假设我有一个像下面这样的链接和一堆其他链接 http://testttt.com/met?tag1=x&tag2=y&tag3=z%20a 我想提取整个链接,如果它以 我试着做了下面的事情,但没有成功 Pattern pattern = Pattern.compile("http://testttt.com/met?[a-zA-Z][0-9]"); Matcher match = pattern.matcher("http://testttt.com/met?tag1=x&am

假设我有一个像下面这样的链接和一堆其他链接

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

我想提取整个链接,如果它以

我试着做了下面的事情,但没有成功

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");
}
为什么不直接使用

if (str.startsWith("http://testttt.com/met")) {
  ...
}
为什么不直接使用

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

如果您的字符串仅包含url,请使用Reimeus建议的答案。如果您试图从一堆文本中提取url,可以使用以下模式:

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

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

如果字符串仅包含url,请使用Reimeus建议的答案。如果您试图从一堆文本中提取url,可以使用以下模式:

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

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

您应该阅读一些关于正则表达式的内容。[a-zA-Z]匹配一个字母。您可能是指[a-z]*匹配零个或多个字母。周围的文字是什么?有分隔符在起作用吗?链接是每行一个吗?这个链接在锚内吗?如果你知道下面的链接不是链接的一部分,比如引号、双引号等,那么通常更容易发布链接。“我想提取整个链接,如果它以”你是想提取url还是参数?@sailingthoms:我想提取整个url以及参数。因此我建议你使用Reimeus的答案。你应该阅读一些关于正则表达式的内容。[a-zA-Z]匹配一个字母。您可能是指[a-z]*匹配零个或多个字母。周围的文字是什么?有分隔符在起作用吗?链接是每行一个吗?这个链接在锚内吗?如果你知道下面的内容不是链接的一部分,比如引号、双引号等,那么发布链接通常会更容易。“如果以“你是在试图提取url还是参数?”开头,我想提取整个链接。@sailingthoms:我想提取整个url以及参数。因此我建议Reimeus给出答案。