我知道这是一个愚蠢的问题,但我花了两天搜索没有任何结果。什么regExp模式应该允许我的用户只键入西里尔字符和空格?提前感谢!
发布于 2011-02-05 15:27:31
您不能在Javascript中这样做,因为Javascript在其正则表达式中甚至没有提供最基本的1级Unicode支持。您必须切换语言才能正确地做到这一点。
不能为此使用枚举块范围。这就混淆了块和脚本,这是非常有缺陷的。有150个具有\p{Script=Cyrillic}属性但缺少\p{Block=Cyrillic}属性的代码点。他们在不同的街区。观看:
$ unichars '\p{Script=Cyrillic}' '\P{Block=Cyrillic}' | wc -l
150此外,在西里尔块中有几个非西里尔码点.
最好的方法是将所有404 Cyrillic代码点作为一个字符类来枚举,这可能会被证明是非常大的。
$ unichars '\p{Script=Cyrillic}' | wc -l
404如果您真的愿意的话,可以使用脚本列出所有这些。当你在那里的时候,你也可能想要抓住脚本。
https://stackoverflow.com/questions/4907342
复制相似问题