str = "SELECT\r\n money\r\nFROM\r\n accounts"
我想从str转换为
"SELECT COUNT(*) FROM accounts"
使用ruby正则表达式。
谢谢你的帮助
答案 0 :(得分:0)
你可以尝试这样的事情:(run here)
re = /(select).*?(from)[\\r\\n]*/i
str = 'SELECT\\r\\n money\\r\\nFROM\\r\\n accounts'
subst = '\\1 count(*) \\2'
result = str.gsub(re, subst)
# Print the result of the substitution
puts result
此外,如果你想在select之间得到任何东西,那么只需将捕获组放入上面的正则表达式:
(select)(.*?)(from)[\\r\\n]*
此处(.*?)
是捕获组2,其中包含selet-from之间的内容。