可以重新设置为像.split?

Kev*_*vin 3 regex clojure

是否有一些可以传递给re-seq的正则表达式,它会表现得像.split

user=> (seq (.split "a,b,c,,e" ","))
("a" "b" "c" "" "e")
user=> (re-seq #"[^,]" "a,b,c,,e")
("a" "b" "c" "e")
user=>
Run Code Online (Sandbox Code Playgroud)

正如您所看到的那样,正则表达式[^,]并不完全可以接受,因为它不会在分隔文件中拾取空列.我是坚持.split还是可以re-seq上班?

Tim*_*ker 6

尝试

(re-seq #"[^,]+|(?<=,)(?=,)" "a,b,c,,e")
Run Code Online (Sandbox Code Playgroud)

我希望Clojure正则表达式支持lookbehind断言.

说明:

[^,]+       # Either match one or more non-comma characters
|           # or
(?<=,)(?=,) # match the empty string between two commas
Run Code Online (Sandbox Code Playgroud)