4

我需要一个正则表达式,它匹配除回车符 (0x0d)、换行符 (0x0a) 和制表符 (0x09) 之外的所有 Unicode 控制字符。目前,我的正则表达式如下所示:

/\p{C}/u

我现在只需要定义这三个例外。

4

1 回答 1

7

我认为您可以在这里使用负前瞻,并结合字符类。

/(?![\x{000d}\x{000a}\x{0009}])\p{C}/u

这样做是使用否定的前瞻来断言该字符不是字符类中指定的字符之一。然后它再次遍历该字符以将其与任何控制字符匹配。

我使用 perl 语法来指定单个 unicode 点。

更多关于环视的讨论在这里

(请注意,这尚未经过测试,但我认为这个概念是正确的。)

于 2009-07-05T01:01:53.757 回答