正则表达式 ,这个动态url用正则如何匹配
<td><imgsrc=..\..\..\..\jfrb\files\20131125\m_707856.jpgborder=0><table><tr><tdheight...
<td><img src=..\..\..\..\jfrb\files\20131125\m_707856.jpg border=0><table><tr><td height=6></td></tr></table></td>
需要匹配jfrb\files\20131125\m_707856.jpg这段动态内容,正则写成如下方式报错:
$preg = '#<td><img src=..\..\..\..\(.*) border=0><table><tr><td height=6></td></tr></table></td>#iUs';
请问应当如何修改? 展开
需要匹配jfrb\files\20131125\m_707856.jpg这段动态内容,正则写成如下方式报错:
$preg = '#<td><img src=..\..\..\..\(.*) border=0><table><tr><td height=6></td></tr></table></td>#iUs';
请问应当如何修改? 展开
2个回答
展开全部
有可能是\转义的问题, 也可能是(.*)界限过大.
修改一下: $preg = '<td><img src=\.\.\\\.\.\\\.\.\\\.\.\\([^ ]+) border=0';
修改一下: $preg = '<td><img src=\.\.\\\.\.\\\.\.\\\.\.\\([^ ]+) border=0';
追问
也是报 Compilation failed: unmatched parentheses at offset 错误, 去掉正则里的括号就不报错了,当然也匹配不上东西了。
追答
试试这个:
$preg = 'img src=\.\.\\\.\.\\\.\.\\\.\.\\([^ ]+) border=0';
展开全部
正则表达式:<td><img src=..\\..\\..\\..\\(.*) border=0><table><tr><td height=6></td></tr></table></td>
即$preg = '#<td><img src=..\\..\\..\\..\\(.*) border=0><table><tr><td height=6></td></tr></table></td>#iUs';
反斜杠需要转义符\ 转义才能使用
即$preg = '#<td><img src=..\\..\\..\\..\\(.*) border=0><table><tr><td height=6></td></tr></table></td>#iUs';
反斜杠需要转义符\ 转义才能使用
追问
不对呀 报不匹配的括号的错误 Compilation failed: unmatched parentheses at offset
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询