Namazu-devel-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: セクショ(namazu-bugs-ja#2748)
- From: "Sakuma,Hiroaki" <sakuma@xxxxxxxxxx>
- Date: Tue, 27 Jan 2004 03:48:30 +0900
- X-ml-name: namazu-devel-ja
- X-mail-count: 03603
- References: <40155A37.2EDF0160@asahi-net.or.jp>
佐久間です.
> 寺西です。
>
> "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" =================================