我正在尝试从html页面获取数据。此数据是图像链接。页面总是有不同的内容,所以唯一的方法是使用正则表达式。页面上只有一个匹配,具有以下样式
<img src="imglink" alt="texttext textex" style="border:1px solid #FFFFFF"/>
我用什么来获取imglink
"<img src=\"(.*)\""
有没有我不知道使用正则表达式的东西?我必须像馅饼一样容易,但它会在&lt;之后得到我的所有文字。在/&gt;之前
答案 0 :(得分:3)
尝试使用非贪婪版本
"<img src=\"(.*?)\""
为了匹配尽可能少的字符。
请注意:如果您具有已知的简单文本结构,请仅使用正则表达式来处理html或xml。对于任意htlm / xml,请不要使用正则表达式。
答案 1 :(得分:2)
根据经验,当我尝试在分隔符之间选择字符时,我指出将“下一个预期的分隔符char”放在选择子句中而不是“。”。
所以在这种情况下:
"<img src=\"([^\"]*)\""