問題ID:2254

  • フォーラムは新サイトへ移行しました。
  • このフォーラムではゲスト投稿が禁止されています
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2010-8-20 21:38
ls5529  新米   投稿数: 3
問題ID:2254の解説の拡張正規表現の表の
?(クエスチョン)につきまして
説明欄には
「直前の文字の0文字もしくは1文字の繰り返しに一致」、
使用例欄には
「直前の文字の0文字もしくは1文字に一致」
となっておりますが、正しくはどちらでしょうか。
実行し出力される行はおそらくどちらも同じではありますが。

今月購入した(おそらく最新版)の下記書籍は以下のように
解説していました。
茶本 P129 「直前の文字の0回もしくは1回の繰り返し」
黒本 P124 「直前の文字の0回もしくは1回の繰り返し」
※そもそも黒本には拡張正規表現と言う概念が無い。
青本 P123 「直前の1文字の0個または1個に一致する」
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2010-8-24 21:37 | 最終変更
getlpic  新米   投稿数: 5
ls5529さん、こんにちは。

引用:
「直前の文字の0文字もしくは1文字の繰り返しに一致」、 使用例欄には 「直前の文字の0文字もしくは1文字に一致」 となっておりますが、正しくはどちらでしょうか。

自分も気になったのですが、その2つは結局同じ事を言っていると思いました。それとも、何か違いが出てきますでしょうか。
要は、?の直前の1文字はあっても無くても合致すると。

#ちなみに、問題ID:2254の使用例欄に?が見当たりませんでした。

なし Re: 問題ID:2254

msg# 1.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2010-8-25 13:03 | 最終変更
ls5529  新米   投稿数: 3
getlpicさん、こんにちは。

以下、柔らかい表現で返信した方が
良いのかもしれませんが
冗長に書くと回答がぼやけるので
簡潔に答えますね。

>その2つは結局同じ事を言っていると思いました。
同じ事を言っているとは思えません。
「abbbbc」をab?cで検索した際に
「直前の文字の0文字もしくは1文字の繰り返しに一致」だと
合致しますが、
「直前の文字の0文字もしくは1文字に一致」
だと合致しないはずです。

>要は、?の直前の1文字はあっても無くても合致すると。
論点が違います。


>#ちなみに、問題ID:2254の使用例欄に?が見当たりませんでした。
使用例欄の windows? が見当たりませんでしょうか。


----------------------------------------

質問した経緯は
・実機確認(CentOS5.2 ディストリビューションや
 バージョンによっての相違が有るかもと推測しています。)
・青本
での勉強結果と、
・茶本
・黒本
での見解に相違が有るからです。
信頼性が1番高いと思われる茶本が実機確認結果と
同じならば質問はしていなかったと思います。

「実行し出力される行はおそらくどちらも同じではありますが。」
と記載したのは、windows?を実行した際に対しての結果についてです。

なし Re: 問題ID:2254

msg# 1.1.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2010-8-25 14:18 | 最終変更
getlpic  新米   投稿数: 5
ls5529さん、こんにちは

ご質問の意味が分かりました。

引用:
「abbbbc」をab?cで検索した際に 「直前の文字の0文字もしくは1文字の繰り返しに一致」だと 合致しますが、

これは合致しないですね。もし合致するとしますと「*」と同じになってしまいます。

おそらく、「繰り返し」の意味の捉え方の問題だと思います。
「1文字の、繰り返し」ではなく、「一文字の繰り返し」なのです。
bの、繰り返しだと、bbbbb・・・に一致となります。
bの繰り返しはbです。つまりbに一致となります。つまり、直前の文字に一致となります。

論点が違ってましたらご指摘ください。

なし Re: 問題ID:2254

msg# 1.1.1.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2010-8-25 15:02
ls5529  新米   投稿数: 3
getlpicさん、こんにちは。

馴染みの無い言い回しだったため
誤解していました。
「の繰り返し」は誤解を生み易いので
必要無いのではと思います。

説明して頂き理解しました。
ありがとうございました。

  >フォーラム検索へ


Copyright (c) 2020 Ping-t All rights reserved.