"(<books:(.+)>)"改成 "(<books:([^>]+)>", 应该就可以了<br><br>
<div><span class="gmail_quote">在06-7-11,<b class="gmail_sendername">haidong jia</b> <<a href="mailto:haidongj@gmail.com">haidongj@gmail.com</a>> 写道:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div><font style="FONT-SIZE: 14px; LINE-HEIGHT: 17pt" color="#000000">功能:把文本中含有<books:xxxxx>的部分全部替换为空<br>遇到问题:当字符串为<books:xxxxx>开头并且以它结尾的时候把整个字符串都给替换了,现在求一正确的方法,多谢.<br>代码如下 <br>sub strip_books {<br> my $str = shift;
<br> my %allowed = allbooks;<br><br> my $j = Jcode->new(\$str, 'utf-8');<br><br> $j->s("(<books:(.+)>)", exists $allowed{$2} ? '' : $1);<br> <br> return $j->utf8;<br>} <br></font></div><br>_______________________________________________
<br>China-pm mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:China-pm@pm.org">China-pm@pm.org</a><br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://mail.pm.org/mailman/listinfo/china-pm" target="_blank">
http://mail.pm.org/mailman/listinfo/china-pm</a><br></blockquote></div><br>