[英]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
后面的(?<=\\$\\()
將確保我們僅在$(
之后開始匹配,並且我們將使用[^()]*
除(
和)
以外的所有其他字符(0個或更多)
與[^()]*
匹配。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.