读书人

怎么用正则表达式来删除字符串里面的一

发布时间: 2012-02-05 12:07:14 作者: rapoo

如何用正则表达式来删除字符串里面的一个<input>元素??急!!!
字符串如下,想删除“ <INPUT TYPE=BUTTON VALUE= '预订 ' onclick=javascript:onBooking( 'eLong ', '40101001 ', '0016 ', '0 '); CLASS=eButton> ”,我这里有个表达式

$s =~s/ <input[^> ]*\/?> //img;
结果是没有删除,找不出原因,会不会是里面有\r\n的缘故?

我在之前用这个表达式删除 $s=~/\r?\n//img;也还是不行

高手指点一下


<TD CLASS=PRICEROW ALIGN=CENTER style= 'width:6%; ' NOWRAP> <FONT SIZE=-2 CLASS=smallPrice> 580 </FONT> </TD> <TD CLASS=PRICEROW ALIGN=CENTER style= 'width:10%; ' > <INPUT TYPE=BUTTON VALUE= '预订 ' onclick=javascript:onBooking( 'eLong ', '40101001 ', '0016 ', '0 '); CLASS=eButton> </TD> <tr> <td CLASS=PRICEROW ROWSPAN=1 > <FONT SIZE=-2 CLASS=smallPrice> 高级标间 </FONT>

[解决办法]
$s =~s/ <input[^> ]*> //img;

[解决办法]
感觉你的写法也是可以的。

最好给出一个完整的Perl脚本说明你的问题,把测试用例也写在里面。

[解决办法]
#是呀,我测试也没问题呀.

#!/usr/bin/perl -w

$str= " <TD CLASS=PRICEROW ALIGN=CENTER style= 'width:6%; ' NOWRAP> <FONT SIZE=-2 CLASS=smallPrice> 580 </FONT> </TD> <TD CLASS=PRICEROW ALIGN=CENTER style= 'width:10%; ' > <INPUT TYPE=BUTTON VALUE= '预订 ' onclick=javascript:onBooking( 'eLong ', '40101001 ', '0016 ', '0 '); CLASS=eButton> </TD> <tr> <td CLASS=PRICEROW ROWSPAN=1 > <FONT SIZE=-2 CLASS=smallPrice> 高级标间 </FONT> ";
if ($str=~/ <input[^> ]*\/?> /im)
{
print "$& ";
}

#结果
> <INPUT TYPE=BUTTON VALUE= '预订 ' onclick=javascript:onBooking( 'eLong ', '40101001 ', '0016 ', '0 '); CLASS=eButton>

读书人网 >perl python

热点推荐