簡體   English   中英

Scala Regex:在兩個字符串之間查找字符串

[英]scala Regex: Find string between two strings

我有這樣的字符串:

val str = "$(foo) == 123 AND $(bar) == 321"

我想解析這個得到: List(foo, bar) 最好的方法是什么?

這是我嘗試的:

val p = """\$\(.*?\)""".r
p.findAllIn(str).toList

但是我得到的結果是: List($(foo), $(bar))

如何獲取List(foo, bar)

使用帶有否定字符類的后向:

val p = """(?<=\$\()[^()]*""".r

IDEONE演示

后面的(?<=\\$\\()將確保我們僅在$(之后開始匹配,並且我們將使用[^()]*()以外的所有其他字符(0個或更多)[^()]*匹配。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM