[#6862] Re: http_get.rb — 青山 和光 <PXN11625@...>

In-Reply-To: [ruby-list:6844] Re: http_get.rb

15 messages 1998/03/01

[#6906] ruby's Icon ? — 藤本尚邦 / FUJIMOTO Hisakuni <hisa@...>

藤本です、こんにちは。

25 messages 1998/03/03
[#6907] Re: ruby's Icon ? — matz@... (Yukihiro Matsumoto) 1998/03/03

まつもと ゆきひろです

[#6908] Re: ruby's Icon ? — 藤本尚邦 / FUJIMOTO Hisakuni <hisa@...> 1998/03/03

藤本です、こんにちは。

[#6911] Re: ruby's Icon ? — OZAWA Sakuro <ozawa@...> 1998/03/03

小澤さくです。

[#6912] Re: ruby's Icon ? — 藤本尚邦 / FUJIMOTO Hisakuni <hisa@...> 1998/03/03

藤本です、こんにちは。

[#6914] Re: ruby's Icon ? — 藤本尚邦 / FUJIMOTO Hisakuni <hisa@...> 1998/03/03

藤本です、こんばんは。

[#6918] manual 1.18b index — WATANABE Tetsuya <tetsu@...>

ruby-man-1.1b8 で、name タグがついているものを拾い集めて

17 messages 1998/03/04
[#6921] Re: manual 1.18b index — matz@... (Yukihiro Matsumoto) 1998/03/04

まつもと ゆきひろです

[#6954] Re: ruby's Icon ? — nosuzuki@... (Norio Suzuki)

こんばんは。鈴木教郎です。

18 messages 1998/03/04
[#6964] Re: ruby's Icon ? — matz@... (Yukihiro Matsumoto) 1998/03/05

まつもと ゆきひろです

[#7023] infinity — Tadayoshi Funaba <tadf@...>

ふなばです。

41 messages 1998/03/09
[#7029] Re: infinity — shugo@... (Shugo Maeda) 1998/03/09

前田です。

[#7033] Re: infinity — keiju@... (石塚圭樹 ) 1998/03/09

けいじゅ@日本ラショナルソフトウェアです.

[#7041] Re: infinity — Kazuhisa YANAGAWA <katze@...> 1998/03/10

In message <199803091741.CAA05774.keiju@cupmail0.rational.com>

[#7048] Re: infinity — keiju@... (Keiju ISHITSUKA) 1998/03/10

けいじゅ@日本ラショナルソフトウェアです.

[#7049] Re: infinity — matz@... (Yukihiro Matsumoto) 1998/03/10

まつもと ゆきひろです

[#7051] Re: infinity — keiju@... (石塚圭樹 ) 1998/03/10

けいじゅ@日本ラショナルソフトウェアです.

[#7054] Re: infinity — matz@... (Yukihiro Matsumoto) 1998/03/10

まつもと ゆきひろです

[#7050] Re: infinity — Kazuhisa YANAGAWA <katze@...> 1998/03/10

In message <199803100359.MAA08628.keiju@cupmail0.rational.com>

[#7259] Socket#shutdown — keiju@... (Keiju ISHITSUKA)

けいじゅ@日本ラショナルソフトウェアです.

16 messages 1998/03/28
[#7260] Re: Socket#shutdown — matz@... (Yukihiro Matsumoto) 1998/03/28

まつもと ゆきひろです

[#7265] Re: Socket#shutdown — keiju@... (石塚圭樹 ) 1998/03/29

けいじゅ@日本ラショナルソフトウェアです.

[ruby-list:6900] Re: extended regular expression

From: KIMURA Koichi <kkimura@...>
Date: 1998-03-03 03:53:05 UTC
List: ruby-list #6900
木村です。
#次当りは ruby-devのが良いかも…

	In: [ruby-list:6777] 

>|perl 5.005でさらに拡張部分が増えそうなんですが、追いかける
>|のでしょうか? ^^;
>|# 5.004_58の時点で5つばかり追加されてます。
>
>えっ…(しばし絶句)….
>
>Perl5で拡張正規表現が導入されてからruby 1.1で追いつくまで数
>年ありましたから,今回も数年程度は待って頂くことになるかと….
>
>|#お手伝いできればいいんでしょうけど…足手まといか^^;
>

>歓迎します.ただ,あのemacs正規表現ルーチンに拡張正規表現を
>追加するのは難儀なんだよなあ.あれは一種のバイトコードインタ
>プリタなので,Perlのような再帰的手法がまったく使えないんです.

作業がバッティングしてる人はいないと思うのですが、念のため。
とりあえず lookbehindは実装*できてしまった* ^^; みたいです。
試しに

  str = "Isac Asimov"
  print /(?<!Isac )Asimov/ =~ str, "\n";
  print $&, "\n"
  print /(?<=Isac )Asimov/ =~ str, "\n";
  print $&, "\n"

というスクリプトを実行すると

  false
  nil
  5
  Asimov

となります。*できてしまった*だけあって、まだかなり怪しい部分が
あるのと、まだ手を付けてないものがあるのでパッチは改めて出します。

これに関連して、まつもとさんに質問があります。

rubyで使用している regexルーチンは、GNUのregexですよね? ファイル
先頭のコメントを見て判断する限りでは t^2さんがマルチバイト対応さ
れた sed, gawk, grepのいずれかから持って来ていると思いますが、あ
ってますか? 

あっていたとして、恐らくちょっと古め(つまり、t^2さんが手を入れて
いた最後のバージョン)ではないと思われるのですがなぜでしょうか?

というのは、最新(最終?)のものであればPOSIXで定義されている[[:alpha:]]
みたいなものが使えるようになっているのですが、それが現状の ruby
が使用しているregexには見当たらないからです。
#わたなべさんからperl 5.004_60でこれが追加されたらしい(自分では確
#認してません)という話を聞いたのですが、新しいものを使っていれば
#これに関する手間はなかったのにな。と思ったわけです^^;

最後に、実装に挑戦している拡張表記を挙げておきます(perl5.004_58
のperlre.podから抜き取りました)。

=item C<(?<=regexp)>

A zero-width positive lookbehind assertion.  For example, C</(?=\t)\w+/>
matches a word following a tab, without including the tab in C<$&>.
Works only for fixed-width lookbehind.

=item C<(?<!regexp)>

A zero-width negative lookbehind assertion.  For example C</(?<!bar)foo/>
matches any occurrence of "foo" that isn't following "bar".  
Works only for fixed-width lookbehind.

=item C<(?{ code })>

Experimental "evaluate any Perl code" zero-width assertion.  Always
succeeds.  C<code> is not interpolated.  Currently the rules to
determine where the C<code> ends are somewhat convoluted.

=item C<(?E<gt>regexp)>

An "independend" subexpression.  Matches the substring which a
I<standalone> C<regexp> would match if anchored at the given position,
B<and only this substring>.

=item C<(?(condition)yes-regexp|no-regexp)>

=item C<(?(condition)yes-regexp)>

Conditional expression.  C<(condition)> should be either an integer in
parentheses (which is valid if the corresponding pair of parentheses
matched), or lookahead/lookbehind/evaluate zero-width assertion.


lookbehind以外はまだ全然手を付けてません。

-- 
木村浩一
            May the source be with you.
    e-mail kbk@kt.rim.or.jp
           kkimura@pure.cpdc.canon.co.jp

In This Thread

Prev Next