编写具有多个条件的正则表达式模式

时间:2019-06-17 06:40:39

标签: java regex

我想在Java中的html内容字符串中找到URL。此网址应具有一些条件。

作为示例,在字符串下面考虑。

"background-image: url("https://mmbiz.qpic.cn/mmbiz_gif/uMa5Y2rQ8PkXuk9veIibUjBk1iaxlKqoAeBKejmFicic0C3lZuG58rYIPAHzsR6icicecc58OacuXeZ9CUicvG1d5ib3v/0?wx_fmt=gif") style="display: flex;" " 

我要提取https://mmbiz.qpic.cn/mmbiz_gif/uMa5Y2rQ8PkXuk9veIibUjBk1iaxlKqoAeBKejmFicic0C3lZuG58rYIPAHzsR6icicecc58OacuXeZ9CUicvG1d5ib3v/0?wx_fmt=gif

我需要编写一个可以从https和http开头的正则表达式模式,然后应显示://mmbiz.qpic.cn/,然后可以是任何字符串。

2 个答案:

答案 0 :(得分:0)

您可能要使用positive lookbehind来匹配起始报价,然后使用非贪婪的搜索方式直到下一个报价,这样:

src

检查demo and explaination

版本2

如果您还希望能够跟踪单引号,请使用以下方法:

data:image/png;base64, iVBOR...

Demo and explaination

答案 1 :(得分:0)

请尝试遵循正则表达式,希望它对您有用:

[^\"]*http[s]*://mmbiz.qpic.cn(.*?)[^\"]*