所以这是我的代码
convert = contents.gsub(/\\s1(.*?)(\n\\r.*?)?\n((?s)\\ms3(.*?)\\p)/, 'replacement code')
在第一位:\\s1(.*?)(\n\\r.*?)?\n
当我告诉它有一个换行符时,我只希望它匹配换行符。但是在搜索\\ms3(.*?)\\p
时,我希望它能够获取任何新行。不幸的是,Ruby似乎不支持这个(?s)
前缀。有没有办法做到这一点?
感谢
答案 0 :(得分:0)
(.*?)==>([\s\S]*?)
您可以使用此代替DOTALL
修饰符。
答案 1 :(得分:0)
convert = contents.gsub(/\\s1(.*?)(\n\\r.*?)?\n((\n*)\\ms3(.*?)\\p)/, 'replacement code')
这将捕获“\ ms3”之前的任何(0+)换行符。如果这不是您的意思,请澄清您对(?s)
的期望功能?