我有以下字符串我想匹配:
(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()
为什么这会失败?
答案 0 :(得分:4)
我相信\s
仅匹配六个ASCII字符和六个ASCII字符:请参阅the documentation for Pattern
。
正如您已经发现的那样,可能值得尝试一些其他空白字符类,如\h
或\v
。
此外,\p{...}
构造可以进行实际的Unicode属性匹配。 White_Space
似乎是最有希望的。