你能纠正我的正则表达吗?
我需要匹配<img>
内?contextId
的所有src
个标记。例如,应匹配以下字符串:
<img xmlns="http://www.w3.org/1999/xhtml" src="http://10.3.34.34:8080/Bilder/pic.png?contextId=qualifier123" alt="Bild" />
我写了正则表达式,它完成了我需要的工作:
(?i)<img[^>]+? src\s*?=\s*?"(.*?\?contextId.*?)"[^\/]+?\/>
但在我看来,解析需要太多步骤(380这里):regex demo
输入字符串最多可达30,000个字符,我担心Java正则表达式引擎可能因我的非优化表达式而失败。
答案 0 :(得分:1)
98步(regex demo):
<img.*?src="[^"]+\?contextId[^>]+>
这个正则表达式假设html没有格式错误,特别希望每个img
标记都有src
属性。
编辑:同时采用{{1}}和img
链接(regex demo)的104个步骤:
src
答案 1 :(得分:1)