[#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:7145] gsub

From: WATANABE Tetsuya <tetsu@...>
Date: 1998-03-17 10:19:28 UTC
List: ruby-list #7145
gsub について

HTML の話題がでていたので、表示上危ない「<>"&」の候
補となるものを探すのに、HTML のタグを取り除いて確認
してみようとしました。

このとき、gsub のマッチした範囲がちょっとおかしいの
に気がつきました。

ruby-1.1b9 と HP-UX 10.20/GCC に Linux/GCC です。

------------------------------
<TITLE>組み込みクラスの method</TITLE>
|TITLE 組み込みクラスの method|>        <-行末の「>」
|TITLE /TITLE|
|TITLE 組み込みクラスの method /TITLE|
------------------------------

実行したコード

------------------------------
while gets
  print
  print $_.gsub(/<(\w+)>(.*?)<\/\1>/i, '|\1 \2|')
  print $_.gsub(/<(\w+)>.*?<(\/\1)>/i, '|\1 \2|')
  print $_.gsub(/<(\w+)>(.*?)<(\/\1)>/i, '|\1 \2 \3|')
end

exit
------------------------------

期待したのは、一番最初の gsub で行末の「>」が表示さ
れ「ない」ことなのです。入力ファイルは 
MethodIndex.html です。

次に、これは私の解釈の違いかもしれないのですが。

手軽に HTML のタグをとりのぞくという意味で次のよう
に書きました。

------------------------------
while gets
  $_.gsub!(/<(\w+)>(.+?)<(\/\1)>/i, '\2')
  $_.gsub!(/<(\w+)>(.+?)<(\/\1)>/i, '\2')
  $_.gsub!(/<(\w+)>(.+?)<(\/\1)>/i, '\2')
  $_.gsub!(/<(\w+)>(.+?)<(\/\1)>/i, '\2')
  print
end

exit
------------------------------

このとき出力は

------------------------------
<HTML>
<HEAD>
組み込みクラスの method
</HEAD>
<BODY bgcolor="#FFFFFF">
組み込みクラスの method<TABLE BORDER=0>
<TR> <TD><A HREF="#Array">Array</A></TD><TD> < Object < Kernel</TD></TR>
<TR> <TD><A HREF="#Bignum">Bignum</A></TD><TD> < Integer < Numeric < Object < Kernel</TD></TR>
<TR> <TD><A HREF="#Dir">Dir</A></TD><TD> < Object < Kernel</TD></TR>
------------------------------

と、取り除き切っていません。

Perl で書くとこんな感じで、私が期待しているのもこれ
と同じなのです。

------------------------------
while (<>) {
  s|<(\w+)>(.+?)</\1>|$2|gi;
  s|<(\w+)>(.+?)</\1>|$2|gi;
  s|<(\w+)>(.+?)</\1>|$2|gi;
  s|<(\w+)>(.+?)</\1>|$2|gi;
  print;
}

exit;
------------------------------

Perl による結果

------------------------------
<HTML>
<HEAD>
組み込みクラスの method
</HEAD>
<BODY bgcolor="#FFFFFF">
組み込みクラスの method<TABLE BORDER=0>
 <A HREF="#Array">Array</A> < Object < Kernel
 <A HREF="#Bignum">Bignum</A> < Integer < Numeric < Object < Kernel
 <A HREF="#Dir">Dir</A> < Object < Kernel
------------------------------

何か勘違いしています?

--
WATANABE Tetsuya HP Japan PSO
e-mail  tetsu@jpn.hp.com

In This Thread

Prev Next