<br>
<pre> ff
ccc
ddd
eee
11</pre>
<br>
<pre>jkjl</pre>
1.
print join ' '=>map{ chomp;$_} grep{/<pre>/..m{</pre>}} <DATA>;
會打印出
<pre> ff ccc ddd eee 11</pre> <pre>jkjl</pre>
2.不包含<pre></pre>
print join ' '=>map{chomp;$_} grep{/<pre>/..m{</pre>} and !/<pre>/ and !m{</pre>}} <DATA>;
打印出ccc ddd eee
3.不包含<pre></pre>
print join ' '=>map{chomp;$_} grep{$r=/<pre>/..m{</pre>} and $r>1 and $r!~/e/i}<DATA>;
打印出ccc ddd eee
4.不包含<pre></pre>
my @line=grep{/<pre>/..m{</pre>}} <DATA>;
chomp @line;
shift @line;
pop @line;
print join ' '=>@line;
打印出ccc ddd eee 11</pre>
四種方法都可以取出兩個TAG中間的Strings.....
但是第一種方式會保留TAG..其他不會..
這個用法應該蠻好用的才對...
改进
print join ' '=>map{chomp;s/.*?<pre>//;s!</pre>.*?!!;$_} grep{/<pre>/..m{</pre>}} <DATA>;
打印出 ff ccc ddd eee 11 jkjl
博客介绍了四种提取两个TAG(<pre></pre>)中间Strings的方法,其中第一种会保留TAG,其他则不会。还给出了改进方法,能更有效地提取所需内容。
2225

被折叠的 条评论
为什么被折叠?



