こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

正規表現「ますか?ます?」

プログラミングの正規表現について伺いたいことがあります。

タイトルにあるように「ますか?」と「ます?」をひっぱってくるためには、つまり、ある文字はあってもなくてもよい(この例ですと「か」)どのように書けばいいのでしょうか。

よろしくお願いします。

投稿日時 - 2012-10-21 00:54:35

QNo.7758492

すぐに回答ほしいです

質問者が選んだベストアンサー

/ますか??/

と、あっても無くてもいい文字の後に ? をつけます。もちろん半角で。

投稿日時 - 2012-10-21 01:16:28

お礼

ありがとうございます。

投稿日時 - 2012-10-22 03:38:21

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

正規表現は、その処理する言語、ライブラリで違うので、どれを使うか指定が無いと正解は出せないのですが。

ある表現が複数回、というのは、「量指定子」を使って表現します。
今回の例なら「『か』が0または1つ」となります。

多くの処理系では、 ?で「0または1つ」となります
「か?」 で 「『か』が0個または1個」の意味です。

「ますか??」 (紛らわしいですが、最初の?は半角、後ろは全角です)
で、
「ま」のあとに「す」、そのあとに「『か』が0はまたは1」、そのあとに「?」
というパターンに一致します。


処理系によっては、「か」などの日本語の文字を「文字」として処理できないものもあります。
その場合、「か」を表わす複数のバイト列のうち、最後のものにだけ ? が有効になります。

投稿日時 - 2012-10-21 01:48:46

お礼

ありがとうございます。

投稿日時 - 2012-10-22 03:39:53

あなたにオススメの質問