質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

3回答

1322閲覧

rubyの正規表現で「指定した文字」以外が含まれてるかどうかを調べる方法

yukkyn

総合スコア8

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

0グッド

0クリップ

投稿2016/01/19 14:52

お世話になります。

今、Rubyを学習しているのですが、正規表現で「指定した文字以外」を含んでいた場合エラーを返すようなプログラムを組みたいと思っていますが、ググってもよくわかりません。

例えば。

input = get

a,b,c,d以外の文字が含まれていたらエラーとなる構文です。

どなたかご教示いただければ幸いです。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ruby

1[^abcd]

文字クラスの [ の直後の文字がキャレット(^)である場合、列挙「されていない」 文字にマッチするようになります ( see. http://docs.ruby-lang.org/ja/2.2.0/doc/spec=2fregexp.html )

投稿2016/01/19 15:15

CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

a,b,c,d を1字だけ受け取るものとすると,

Ruby

1input = gets.chomp 2if input.match(/^[abcd]$/) 3 puts input 4else raise ArgumentError 5end

こんな感じでどうでしょう。
a,b,c,d どれか1字だけを受け取り,
それ以外のものにエラーを返します。

しかしこれだけ簡単なものは自己解決するために
もっとよく調べてから質問するのが良いでしょう。
正規表現に不慣れだと何から手を付けていいかわからないでしょうが,
量をこなすことで見えてくることもあると思います。
じっくり勉強しましょう。

投稿2016/01/20 06:29

5ara5treamer

総合スコア47

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

... ググってもよくわかりません。...

どんな文字で検索したのでしょうか?
"ruby 正規表現 入門"
で検索すれば、たくさんヒットします。
そういったものから幾つかを読めば、方法がみつかったと思います。

投稿2016/01/20 00:28

katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問