Java 使用多个条件编写正则表达式模式
我想在Java中的html内容字符串中查找URL。这个URL应该有一些条件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
以下面的字符串为例。
"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[^\"\']+