这是我想要正则表达式的字符串:
(roman)
item(Hello
World)
item(Foo bar)
正则表达式"item\\(.*\\)".r
仅在没有\n
个字符时才有效。
我发现,(?s)
应该有所帮助。
但"(?s)item\\(.*\\)".r
也包含第二项。
我想要的结果是这样的List(Hello\nWorld, Foo bar)
。
这种符号有可能是正则表达式吗?或者什么是符号,允许使用多行正则表达式?
答案 0 :(得分:1)
试试这个(将 str 设置为上面的字符串):
"""item\(([^)]*)\)""".r.findAllMatchIn(str).map{_.group(1)}.toList
通常最好是查找不最终字符的字符序列,而不是任何字符。