Perl 正規表現の「?」単独でもいいのでしょうか?

[上に] [前に] [次に]
水原 麗名 [E-Mail] 1999/12/21(火) 04:52:05
先程見ていて気になったのですが、
Perl入門(概要編)の「その他-正規表現」で、

>?   0または1つの任意文字(  , A, B, C, ...)

とありますが、ピリオドは不要なのでしょうか?

ラウォッチ 1999/12/21(火) 13:36:03
>ピリオドは不要なのでしょうか?
イマイチ理解できません!

「?」と「.」の違いは、 「.」 は必ず任意の文字が必要ですが、?はなくてもOK。

この回答、はずしましたか〜

ひつじどし 1999/12/21(火) 13:53:31
.は、改行を除く任意の一文字。
?は、直前の正規表現の0回または1回のくりかえし。
(くりかえしという言い方も変ですが。)にマッチするそうです。
なので?単独では意味をなさないと思います。たとえば
-?5
なら'-5'にもマッチするし'5'にもマッチします。
水原 麗名 さんが疑問に思われている通り、
0または1つの任意文字(  , A, B, C, ...)
を表したいのであれば
.?
と書くべきだと思います。

EMI 1999/12/21(火) 15:07:17
もしかしてこれ、ワイルドカードとごちゃ混ぜにしてませんか?>とほほさん

水原 麗名 1999/12/24(金) 00:52:20
[[解決]]
では、とほほ様のミスと言うことで、
解決とさせていただきます。

[上に] [前に] [次に]