作为更大解析器的一部分,我正在编写一个规则来使用 parboiled2 匹配如下字符串:
意大利菜
我想使用如下简单的东西:
CharPredicate.Printable
org.parboiled2.ParseError
但是由于字符串末尾的 unicode 字符,解析器失败了。
是否有一个我不知道的简单选项来匹配可打印的 unicode 字符?
作为更大解析器的一部分,我正在编写一个规则来使用 parboiled2 匹配如下字符串:
意大利菜
我想使用如下简单的东西:
CharPredicate.Printable
org.parboiled2.ParseError
但是由于字符串末尾的 unicode 字符,解析器失败了。
是否有一个我不知道的简单选项来匹配可打印的 unicode 字符?
看看https://github.com/sirthias/parboiled2/blob/master/parboiled-core/src/main/scala/org/parboiled2/CharPredicate.scala#L112 - 做自己的谓词很容易,例如:
val latinSupplementCharsPredicate = CharPredicate('\u00c0' to '\u00dc') ++ CharPredicate('\u00e0' to '\u00fd')