我有以下要匹配的字符串:
"Ambrosia,Restore Health, , , "
Run Code Online (Sandbox Code Playgroud)
包含 unicode 空格(不要问我为什么)。/,\s*,/u在 regex101 中工作得很好。
但#"(?u),\s*,"在 clojure 中不起作用:
(re-find #"(?u),\s*," "Ambrosia,Restore Health, , , ") ;nil, should be , ,
Run Code Online (Sandbox Code Playgroud)
为什么这会失败?
我相信\s比赛6个ASCII字符,只有这六个ASCII字符:看到的文档Pattern。
正如您已经发现的那样,可能值得尝试一些其他空白字符类,例如\h或\v。
此外,该\p{...}构造可以进行实际的 Unicode 属性匹配。White_Space似乎是最有希望的。