基礎理論

基本情報技術者試験正規表現 ab*c が表す文字列パターンの説明として最も適切なものはどれか。ここで *…

テクノロジ系基礎理論難易度:normal
正規表現 ab*c が表す文字列パターンの説明として最も適切なものはどれか。ここで * は直前の文字の0回以上の繰返しを表す。
a と c の間に b がちょうど1個だけ入る文字列
ab という2文字の並びが全体として0回以上繰り返され、その後に c が1個付く文字列
a と b と c がこの順で各1個ずつ並ぶ文字列に限られる
先頭が a、末尾が c で、間に b が0個以上連続する文字列
正解
エ.先頭が a、末尾が c で、間に b が0個以上連続する文字列

* は直前の1文字bの0回以上の繰返しを表す。よってab*cは『a→b(0個以上)→c』の形で、ac・abc・abbc・abbbcなどにマッチする。間のbが0個以上連続するので正しい。

?選択肢ごとの解説

ア ×bがちょうど1個だけというのは誤りで、*は0回も含むためbが0個のac、複数個のabbcにもマッチする。
イ ×『ab』全体の繰返しと解釈しているが、*は直前の1文字bにのみ係るのであって部分文字列abには係らない。
ウ ×各1個ずつ(abcのみ)に限るのは誤りで、bの個数は0個でも複数個でもよい。
エ ○* は直前の1文字bの0回以上の繰返しを表す。よってab*cは『a→b(0個以上)→c』の形で、ac・abc・abbc・abbbcなどにマッチする。間のbが0個以上連続するので正しい。
この問題の「深掘り・誤答の完全解説・覚え方」は、登録すると読めます。

基本情報技術者試験は全4,036問。公開しているのはその一部で、登録すると残りも一問ごとにAI解説つきで解けます。SRS暗記カード・全真模試・弱点診断まで。

登録は1分・クレジットカード不要。無料のまま練習・暗記カード・模試まで使えます。

作成・校閲:ukamiru編集部 · 基本情報技術者試験 過去問 · fe-a3-0092

【基本情報技術者試験】正規表現 ab*c…|正解「先頭が a、末尾が c…」|ukamiru 過去問