Namazu-devel-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: セクショ(namazu-bugs-ja#2748)



佐久間です.



> 寺西です。
> 
> "Sakuma,Hiroaki" wrote:
> > 
> > > 無理そうに思います。
> > >
> > > 最初の <!--Section Ends--> 以降の任意文字列と最短マッチして
> > > 最初に現れた $ (つまり最後) とマッチしてしまうはずです。
> > > ゆえに、最初に現れた <!--Section Ends-->以降が削除されるのでは
> > > ないでしょうか?
> > 
> > sオプションがついてるので,最後は $$count の本当の最後だけです.文中の行
> > 末に
> > はマッチしません.
> 
> いや、そういうことを言っているわけじゃなくて、最短マッチで指定
> している $ が、最初に現れるまでマッチするわけですから、
> .*?$ は二番目以降の <!--Section Ends--> も含まれてしまいますよ。
> 
> sオプションが付いているので、$ は1つしかないので、最大でも最小でも
> 同じ結果になります。
> 
> コード試されました?

最短マッチは $ ではなく,".*" です.

$$count =~ s/[^(?:<!--Section Ends-->)]*?$//s;

でどうでしょうか?

試そうにも,手元にデータが無いので試せないのですが,次のコードでは問題なく動
きます.

$str = "abc<>def<>ghi";
$str =~ s/[^(<>)]*?$//;
print $str;

結果: abc<>def<>



=== Sakuma,Hiroaki =======================================================
BEETAS.org          www.beetas.org      sakuma@xxxxxxxxxx
Webmin-JP           jp.webmin.com       sakuma@xxxxxxxxxxxxx
Waseda Univ CS                          sakuma@xxxxxxxxxxxxxxx
=== "There's More Than One Way To Do It" =================================