2

"/russia/i"文字列を正規表現に変換する方法/russia/i

Regexp.new strとについては知って/#{str}/いますが、修飾子の場合は機能しません。

4

3 に答える 3

4

入力内容を信頼できる場合:

str = "/russia/i"
re = eval(str) # => /russia/i
于 2013-07-07T23:20:59.767 に答える
2
s = "/russia/i"
Regexp.new(s[1..s.rindex('/') - 1],s[-1]) # => /russia/i

また

s = "/russia/i"
s.split("/") # => ["", "russia", "i"]
Regexp.new(s.split("/")[1],1) # => /russia/i

また

s = "/russia/i"
s.split("/") # => ["", "russia", "i"]
Regexp.new(*s.split("/")[1..-1]) # => /russia/i
于 2013-07-07T20:53:13.000 に答える
2

私はこの解決策が好きです

str = "/russia/i"
re = Regexp.new *str.split('/').slice(1,2)
# => /russia/i
于 2013-07-07T21:22:00.360 に答える