如何在<>之间获取字符串在java中

时间:2014-01-16 15:50:21

标签: java regex

我有一个网址链接

Link=<http://mysample.link.com/first/12/sample?page=1234-asdf>;rel="next"

我想在&lt;&gt;之间取得所有内容并将结果作为http://mysample.link.com/first/12/sample?page=1234-asdf

目前我正在使用String.substring()之类的 finalString=sample.subString(sample.indexOf("<"),sample.indexOf(">"));

但我不认为这是最好的方法。有人可以告诉我如何使用正则表达式获取结果字符串。

3 个答案:

答案 0 :(得分:3)

这是一个正则表达式:

<([^>]+)>

示例:http://regex101.com/r/lT3xS4

答案 1 :(得分:1)

我使用这个:(?<=Link=<).+?(?=>)只捕获链接“tag”中的实际网址。

答案 2 :(得分:1)

以下内容适合您。

String s = "Link=<http://mysample.link.com/first/12/sample?page=1234-asdf>;rel=\"next\"";
Pattern p = Pattern.compile("<([^>]+)>");
Matcher m = p.matcher(s);
while (m.find()) {
  System.out.println(m.group(1));
}

// "http://mysample.link.com/first/12/sample?page=1234-asdf"