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

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

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

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

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

正規表現

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

Q&A

2回答

1774閲覧

正規表現がうまくマッチしません。

EzrealTrueshot

総合スコア388

Ruby

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

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

正規表現

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

1グッド

1クリップ

投稿2020/03/08 15:01

前提・実現したいこと

https://qq.aiueo-kakikukeko.com:6000

上記URLにマッチする正規表現を表したいです。

/https\://qq.aiueo-kakikukeko.com\:\d+/

これでいけるかと思ったのですが、ダメでした。

発生している問題・エラーメッセージ

No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

該当のソースコード

ruby

1 Rails.application.config.middleware.insert_before 0, Rack::Cors do 2 allow do 3 4 origins /https\://qq.aiueo-kakikukeko.com\:\d+/ 5 6 resource '*', 7 headers: :any, 8 methods: [:get, :post, :put, :patch, :delete, :options, :head] 9 end 10 end

これだと失敗して

試したこと

ruby

1 Rails.application.config.middleware.insert_before 0, Rack::Cors do 2 allow do 3 4 origins "*" 5 6 resource '*', 7 headers: :any, 8 methods: [:get, :post, :put, :patch, :delete, :options, :head] 9 end 10 end

これは当たり前で恐縮ですが、通りました。

補足情報(FW/ツールのバージョンなど)

Ubuntu18.04
Ruby on Rails 6

どこが原因で正規表現で取得できないのか、お気づきの方いらっしゃいましたらご教示いただけませんでしょうか?
足りない情報などございましたら追記させていただきます。

DrqYuto👍を押しています

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

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

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

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

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

guest

回答2

0

こんにちは。
Rubyは初心者なので詳しくないですが、正規表現そのものは問題なさそうです。

origins /https://qq.aiueo-kakikukeko.com:\d+/
の部分ですが、正規表現全体をクォートしなくて良いのですか?
origins "https://qq.aiueo-kakikukeko.com:\d+"
※perlなら/~/がクォートになりますが。。。

投稿2020/03/09 01:10

編集2020/03/10 22:37
DreamTheater

総合スコア1095

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

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

winterboum

2020/03/09 02:19 編集

そっちかな "*"が通るのですから "https\://qq.aiueo-kakikukeko.com\:\d+" かも
asm

2020/03/09 03:03 編集

- pythonとは関係がない - Rack::Corsのreadmeを見ると正規表現リテラルを渡している - 文字列にクォーテーションする場合は\をエスケープしなければいけない
EzrealTrueshot

2020/03/10 15:54

回答ありがとうございます。 明日、もういちど試してみようと思います。
guest

0

その正規表現で通らないとすると、URLが期待と異なっているということになります。
/https:/
辺りから順に延ばしていって確かめるか、
実際に渡ってくるURLを何らかの方法で取り出してみるか
で探ってくささい。

予感では /https?: か、host部の違いか、かな? と

投稿2020/03/09 00:59

winterboum

総合スコア23329

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

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

EzrealTrueshot

2020/03/10 15:54

回答ありがとうございます。 明日、もういちど試してみようと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問