1. ホーム
  2. ruby

[解決済み] 文字列を正規表現に変換する ruby

2022-07-26 23:33:01

質問

のような文字列を正規表現に変換したいのですが、どうすればよいですか?

"/[\w\s]+/" => /[\w\s]+/

私は、異なる Regexp のようなメソッドを使ってみました。

Regexp.new("/[\w\s]+/") => /\/[w ]+\// また、同様に Regexp.compileRegexp.escape . しかし、どれも私が期待したようには返ってきません。

さらに私はバックスラッシュを削除しようとしました。

Regexp.new("[\w\s]+") => /[w ]+/ しかし、運がない。

そこで、シンプルにやってみた。

str = "[\w\s]+"
=> "[w ]+"

エスケープされます。さて、文字列はそのままで、どのように正規表現オブジェクトに変換できるのでしょうか?

どうすればいいのでしょうか?

ここでは、最初の文字列をシングルクォートで囲む必要があるようです。 このページ )

>> str = '[\w\s]+'
 => "[\\w\\s]+" 
>> Regexp.new str
 => /[\w\s]+/