我需要将"/\w\s+/“这样的字符串转换为正则表达式。
"/[\w\s]+/" => /[\w\s]+/
我尝试使用不同的Regexp
方法,比如:
Regexp.new("/[\w\s]+/") => /\/[w ]+\//
,类似于Regexp.compile
和Regexp.escape
。但他们都没有像我预期的那样返回。
此外,我还尝试删除反斜杠:
Regexp.new("[\w\s]+") => /[w ]+/
,但不走运。
然后我试着做的很简单:
str = "[\w\s]+"
=> "[w ]+"
它逃脱了。现在,字符串如何保持原样并转换为regexp对象呢?
发布于 2011-12-28 14:55:24
看起来这里你需要把初始的字符串放在单引号中(参考this page)
>> str = '[\w\s]+'
=> "[\\w\\s]+"
>> Regexp.new str
=> /[\w\s]+/
https://stackoverflow.com/questions/8652715
复制相似问题