Unicode正则表达式在clojure中不起作用

时间:2016-03-29 18:22:51

标签: regex clojure

我有以下字符串我想匹配:

(re-find #"(?u),\s*," "Ambrosia,Restore Health, , , ") ;nil, should be , ,

包含unicode空格(不要问我为什么)。 object MyActor { def props(): Props = Props[ClientActor] } class MyActor extends Actor { def receive: Receive = { ... } } 在regex101中工作正常。

但是object MyActorHandler { def props(parameter: String, address: SocketAddress): Props = Props(classOf[ClientActorHandler], parameter, address) } class MyActorHandler(parameter: String, address: SocketAddress) extends Actor { def receive: Receive = { ... } } 在clojure中不起作用:

context.actorOf()

为什么这会失败?

1 个答案:

答案 0 :(得分:4)

我相信\s仅匹配六个ASCII字符和六个ASCII字符:请参阅the documentation for Pattern

正如您已经发现的那样,可能值得尝试一些其他空白字符类,如\h\v

此外,\p{...}构造可以进行实际的Unicode属性匹配。 White_Space似乎是最有希望的。