是否有一些可以传递给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
上班?
尝试
(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)