Java 使用多个条件编写正则表达式模式

Java 使用多个条件编写正则表达式模式,java,regex,Java,Regex,我想在Java中的html内容字符串中查找URL。这个URL应该有一些条件 以下面的字符串为例。 "background-image: url("https://mmbiz.qpic.cn/mmbiz_gif/uMa5Y2rQ8PkXuk9veIibUjBk1iaxlKqoAeBKejmFicic0C3lZuG58rYIPAHzsR6icicecc58OacuXeZ9CUicvG1d5ib3v/0?wx_fmt=gif") style="display: flex;" " 我想提取https

我想在Java中的html内容字符串中查找URL。这个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/
,然后可以是任何字符串。

您可能需要使用它来匹配起始引号,然后进行非贪婪搜索,直到下一个引号,这样:

(?<=\")(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)?mmbiz\.qpic\.cn[^\"]+

(?请尝试以下正则表达式,希望它适合您:


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

“可以是任何字符串”需要澄清。URL总是包含在引号之间?是的,起始引号和结束引号总是在那里。我需要跟踪单引号,而不仅仅是双引号。是否可能。我尝试过,(?)?
(?<=[\"\'])(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)?mmbiz\.qpic\.cn[^\"\']+