在java中正则表达式匹配后获取文本直到特定字符

时间:2014-09-08 14:30:29

标签: java regex

我需要获取正则表达式匹配文本之后的文本,直到特定字符。

例如,请考虑以下这一行:

*?ref_=xoxoxo"><img src="*http://www.wow-how.com/yaba-daba-doo.jpg"

这里?ref_ = xoxoxo&#34;&gt;将是正则表达式匹配,我需要在http://www.wow-how.com/yaba-daba-doo.jpg的正则表达式匹配之后得到文本,直到字符&#34;

请注意

怎么做?请帮助。

1 个答案:

答案 0 :(得分:1)

使用lookbehind,

(?<=\\?ref_=xoxoxo\"><img src=\"\\*)[^\"]*

代码:

String s = "*?ref_=xoxoxo\"><img src=\"*http://www.wow-how.com/yaba-daba-doo.jpg\"";
Pattern regex = Pattern.compile("(?<=\\?ref_=xoxoxo\"><img src=\"\\*)[^\"]*");
Matcher matcher = regex.matcher(s);
while(matcher.find()){
       System.out.println(matcher.group(0));
    }

输出:

http://www.wow-how.com/yaba-daba-doo.jpg