2017-07-26 106 views
0

我正在尋找一種方法來在Scala中通過正則表達式分組字符串。Scala按組x分組字符串

例如,用一個不帶反斜槓的點分割。我試圖使用

"[^\\\\]\\."r.split("a.b.c\.d.e)

但它包含了以前的字符串這是不是一個點的字符。

Expected: a,b,c,c\.d,e 
Result: , , c\., e 

回答

2

您可以使用正則表達式negative lookbehind排除與匹配任何.前面\如下「:

val pattern = """(?<!\\)\.""".r 

pattern.split("""a.b.c\.d.e""") 

// res1: Array[String] = Array(a, b, c\.d, e)