我需要获得一个正则表达式,它匹配除回车符(0x0d),换行符(0x0a)和制表符(0x09)之外的所有Unicode控制字符。目前,我的正则表达式如下所示:
/\p{C}/u
我现在只需要定义这三个例外。
答案 0 :(得分:7)
我认为你可以在这里使用负面预测,并结合角色类。
/(?![\x{000d}\x{000a}\x{0009}])\p{C}/u
这样做是使用否定先行来断言该字符不是字符类中指定的字符之一。然后它再次遍历角色以使其与任何控制角色匹配。
我使用perl语法指定单个unicode点。
关于外观的更多讨论here
(请注意,这尚未经过测试,但我认为这个概念是正确的。)