我正在尝试使用正则表达式模式来获取特定标记之间的信息,如下所示:
val input = """#<tag>
Information 1
Information 2
Information 3
#</tag>""".stripMargin
val testPattern = """#<tag>(.*?)#<\/tag>""".r
testPattern.findAllIn(input) foreach { println(_) }
但这让我很遗憾没有比赛。因为我不是一个正则表达的大师:我在这里想念什么?
提前致谢。
答案 0 :(得分:4)
默认情况下,点(.
)与新行不匹配。您可以按如下方式更改此行为:
val testPattern = """(?s)#<tag>(.*?)#</tag>""".r
请注意(?s)
,它是触发新行为的“embedded flag expression”。
此外,this related question也可能会针对您可能遇到的相关问题提供一些答案。