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

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

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

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

正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

Q&A

2回答

457閲覧

Ruby 正規表現 |(または)の使い方について

ttttaaaak

総合スコア13

Ruby

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

正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

1グッド

1クリップ

投稿2020/02/11 23:47

編集2020/02/12 05:19

正規表現でNewまたはnewのみで構成される行にマッチする正規表現が知りたいのですが、

・^New|new$

がなぜマッチしないのか理由がわからないです。

以上、よろしくお願いいたします。

「^Newまたはnew$」ということは
Newにもnewにもマッチするという風に思えてしまうのですが
ちがうのでしょうか。

また、
参考書を見たところ
Newewにもマッチすると書いていたのですが、
Rubularで確認したところ
マッチしませんでした。
参考書が間違っているのでしょうか。

DrqYuto👍を押しています

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

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

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

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

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

maisumakun

2020/02/12 05:39

「Newewにもマッチする」とされているのは、どの正規表現でしょうか?
ttttaaaak

2020/02/12 06:01

^New|new$ です
ttttaaaak

2020/02/12 06:18

すみません。rubularで逆に入れてました。。。 ちなみにこれはどういう理屈でマッチするのでしょうか。 ()がないので全体にかかるというのがキーポイントなのでしょうか。 なかなか理解できません。
maisumakun

2020/02/12 06:23

はい、「Newで始まるもの、もしくはnewで終わるもの」にヒットする正規表現です。
ttttaaaak

2020/02/12 06:31

Newewはどのような考え方なのでしょうか。 Newnewなら理解できるのですが。。。
maisumakun

2020/02/12 06:32

「Newで始まるもの」なのでヒットしています。
guest

回答2

0

なぜマッチしないのか理由がわからないです。

|はカッコで括らない限り全体にかかりますので、「^Newまたはnew$」という意味になります。

投稿2020/02/12 00:04

maisumakun

総合スコア146018

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

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

maisumakun

2020/02/12 00:04

^[Nn]ew$で済ませるのが手っ取り早い気もします。
maisumakun

2020/02/12 06:22

> なぜマッチしないのか理由がわからないです。 Newにもnewにもマッチはします。ただし、余計なものがヒットしてしまいます。
guest

0

^New|new$が全角だからということでしょうか?

下記で^New|new$だとNewもnewもマッチしました。
https://rubular.com/

投稿2020/02/11 23:53

no1knows

総合スコア3365

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問