背景
我正在编写一个基于 DFA 的正则表达式解析器,出于性能原因,我需要使用字典[Unicode.Scalar : State]
来映射下一个状态。现在我需要一堆特殊的 unicode 值来表示特殊的字符表达式,如.
, \w
, \d
...
我的问题
哪些 unicode 值可以安全地用于此目的?
我正在使用U+0000
for .
,但我现在需要更多。我检查了 unicode 文档,Noncharacters似乎很有希望,但很快,那些被认为是无效的 unicode。例如,下面的代码给了我一个编译器错误Invalid unicode scalar
。
let c = "\u{FDD0}"