Ruby 如何在正则表达式扫描中转义换行符
这里,当换行符(Ruby 如何在正则表达式扫描中转义换行符,ruby,regex,Ruby,Regex,这里,当换行符(\n)出现时,它将被拆分。我实际上希望输出为 str = "This\n is a sample text for test" str.scan(/\S.{0,15}\S(?=\s|$)|\S+/) # => ["This", "is a sample text", "for test"] 如何实现这一点?使用允许点匹配换行符的/m修饰符: ["This\n is a", "sample text for", "test"] 另外,我建议您使用\z而不是$,因为$匹配
\n
)出现时,它将被拆分。我实际上希望输出为
str = "This\n is a sample text for test"
str.scan(/\S.{0,15}\S(?=\s|$)|\S+/)
# => ["This", "is a sample text", "for test"]
如何实现这一点?使用允许点匹配换行符的
/m
修饰符:
["This\n is a", "sample text for", "test"]
另外,我建议您使用
\z
而不是$
,因为$
匹配一行的结尾\z
是强制Ruby匹配字符串结尾的唯一方法。在这个例子中,这并不重要,但这是一个好习惯。Ruby在这两点上与所有其他正则表达式不同。谢谢@Tim!这正是我要找的。
str.scan(/\S.{0,15}\S(?=\s|\z)|\S+/m)