[#37249] ruby 1.8でのCGI#[]の挙動 — 堀川 久 <vzw00011@...>

こんにちは。

14 messages 2003/03/09

[#37283] 両方の式とも常に評価する論理和・論理積 — Shinya Kawaji <kawaji@...>

かわじ、です

17 messages 2003/03/13

[#37324] optparse は使いやすいですか? — 成島 寛則 <narushima@...>

こんにちは。Narushima Hironori と申します。

13 messages 2003/03/15

[#37370] Secure「ではない」script の書き方 — satoru takahashi <hisai@...>

高橋聡@JFプロジェクトで翻訳しています、です

50 messages 2003/03/20
[#37381] Re: Secure「ではない」script の書き方 — satoru takahashi <hisai@...> 2003/03/20

高橋聡です

[#37382] Re: Secure「ではない」script の書き方 — matz@... (Yukihiro Matsumoto) 2003/03/20

まつもと ゆきひろです

[#37405] Re: Secure「ではない」script の書き方 — Taku Nakajima <tnakajima@...> 2003/03/24

[#37407] Re: Secure「ではない」script の書き方 — matz@... (Yukihiro Matsumoto) 2003/03/24

まつもと ゆきひろです

[#37414] Re: Secure「ではない」script の書き方 — Taku Nakajima <tnakajima@...> 2003/03/25

[#37415] Re: Secure「ではない」script の書き方 — matz@... (Yukihiro Matsumoto) 2003/03/25

まつもと ゆきひろです

[#37417] Re: Secure「ではない」script の書き方 — Taku Nakajima <tnakajima@...> 2003/03/25

[#37421] Tmpfile.newがデフォルトで/tmpを利用すること — Tadatoshi Kamimura <kamimura.tadatoshi@...>

上村と申します。はじめまして。

35 messages 2003/03/26
[#37422] Re: Tmpfile.newがデフォルトで/tmpを利用すること — WATANABE Hirofumi <eban@...> 2003/03/26

わたなべです。

[#37467] Re: Tmpfile.newがデフォルトで/tmpを利用すること — Tadatoshi Kamimura <kamimura.tadatoshi@...> 2003/03/31

上村です

[#37468] Re: Tmpfile.newがデフォルトで/tmpを利用すること — "Akinori MUSHA" <knu@...> 2003/03/31

At Mon, 31 Mar 2003 09:51:27 +0900,

[#37470] Re: Tmpfile.newがデフォルトで/tmpを利用すること — Tadatoshi Kamimura <kamimura.tadatoshi@...> 2003/03/31

上村です。

[#37472] Re: Tmpfile.newがデフォルトで/tmpを利用すること — "Akinori MUSHA" <knu@...> 2003/03/31

 なるほど、 $SAFE=1 のところをすっぱり読み飛ばしてました。

[#37479] Re: Tmpfile.new がデフォルトで/tmpを利用すること — siena@... (Siena. / SHINAGAWA, Norihide) 2003/03/31

Siena. です。

[#37480] Re: Tmpfile.new がデフォルトで/tmpを利用すること — siena@... (Siena. / SHINAGAWA, Norihide) 2003/03/31

Siena. です。

[#37483] Re: Tmpfile.newがデフォルトで/tmpを利用すること — nobu.nakada@... 2003/04/01

なかだです。

[#37493] Re: Tmpfile.newがデフォルトで/tmpを利用すること — TAKAISHI Hayato <rio-t@...> 2003/04/02

こんにちは、高石です。

[#37496] Re: Tmpfile.new がデフォルトで/tmpを利用すること — siena@... (Siena. / SHINAGAWA, Norihide) 2003/04/03

Siena. です。

[#37499] Re: Tmpfile.new がデフォルトで/tmpを利用すること — matz@... (Yukihiro Matsumoto) 2003/04/03

まつもと ゆきひろです

[#37500] Re: Tmpfile.new がデフォルトで/tmpを利用すること — "U.Nakamura" <usa@...> 2003/04/03

こんにちは、なかむら(う)です。

[ruby-list:37356] Re: 正規表現の位置指定の使い方

From: Minero Aoki <aamine@...>
Date: 2003-03-19 07:58:55 UTC
List: ruby-list #37356
青木峰郎です。

  In mail "[ruby-list:37354] 正規表現の位置指定の使い方"
    AOKI Yoshihiro <aoki@tokyo-shoseki-ptg.co.jp> wrote:

> あおきよしひろといいます。
> 
>   #!ruby -Ks
>   p /a亜/ =~ "a亜"     # => 0
>   p /(?=a)亜/ =~ "a亜" # => nil
> 
> で、両方ともマッチするのを期待していたのですが、
> 根本的に(?=...)の使い方が間違っているのでしょうか・・・。

むかし、全く同じことでハマりました。
(?=...) というのは、それが書いてある場所から後ろに働くんです。
つまり /(?=a)亜/ は、「aと亜の両方に**同時に**マッチする文字列」
にマッチします。ですから絶対にマッチしません。

たとえば /(?=[a-z])\w+/ ならば、\w の 1 文字以上の並びで、
かつその一文字目が [a-z] であるものにマッチします。つまり
以下のようになります。

  /(?=[a-z])\w+/ === "word"   # マッチする
  /(?=[a-z])\w+/ === ""       # マッチしない
  /(?=[a-z])\w+/ === "210"    # マッチしない
  /(?=[a-z])\w+/ === "w210"   # マッチする
  /(?=[a-z])\w+/ === "-"      # マッチしない


>   p /(?!a)亜/ =~ "a亜" # => 1
> 
> というのもなぜマッチするのかわかりません。

これは、「亜」にマッチして、**しかも**「a」にマッチしないもの、
にマッチします。ですから「亜」があれば必ずマッチします。


> 本当は
> 
>   /(?!\\[^\s!-/:-?^~_]*)[亜愛]")
> 
> のようにして、TeXコマンドではない部分の特定の漢字を抜き出そうとして
> うまくいかないので、上のようにしてみてもマッチしないので、
> 位置指定をどう使えばいいのかよく分かりませんでした。

つまり、特定のコンテキストにある文字列を探しているんですよね。
そういうときは

  /\\[^\s!-/:-?^~_]*([亜愛])/ === str
  matched = $1

として $1 を取るのがよいと思います。

※ ちなみに 1.8 だと同じことが次のように書けます。

  matched = str.slice(/\\[^\s!-/:-?^~_]*([亜愛])/, 1)

-------------------------------------------------------------------
青木峰郎

In This Thread