这个正则表达式中的Unicode字符(代码点)代表什么意思?

5
我有以下正则表达式: 我已经理解了大部分内容,如下所示:
ValidationExpression="^[\u0020\u0027\u002C\u002D\u0030-\u0039\u0041-\u005A\u005F\u0061-\u007A\u00C0-\u00FF°./]{1,256}$"

u0020:空格
u0027:撇号
u002C:逗号
u002D:连字符/减号
u0030-\u0039\:0-9
u0041-\u005A:A-Z
u005F:下划线
u0061-\u007A\:a-z

u00C0-\u00FF°./:??
需要帮助理解验证表达式的最后一部分:
u00C0-\u00FF°./
有人知道这是什么意思吗?
6个回答

3

奇怪...根据Windows上的字符映射,我会说"À到ÿ"

这些是A、C、E、I、D、N、O、U、Y、德语Sharp s等字母的一些变体(重音符号、塞迪利亚斯等)。


2

\u00C0 - \u00FF是带有重音符号的字母,但并不仅限于此。而“°”只是度数字符。然而,“./”应该改为“\.”以允许句点字符。


1
方括号 [ ] 内的句点 . 不需要转义。只有方括号 [ ] 内需要转义的字符是 ] 和 \ 。 - Markus Jarderot
哦,还有那些使用它们的平台上的分隔符,比如perl和php。 - Markus Jarderot
啊,谢谢。我不是一个正则表达式专家,所以这种小细节会让我犯错。 - Robert K

1
你对原始字符串进行分割的结果看起来很奇怪,好像你并不理解Unicode转义序列的含义。它应该像这样:
\u0020
\u0027
\u002C
\u002D
\u0030-\u0039
\u0041-\u005A
\u005F
\u0061-\u007A
\u00C0-\u00FF
°
.
/

您可以在Unicode网站上查找这些代码点的含义: 最后三个字符的意思与其所写的完全相同:
  • 度数符号
  • 句号
  • 斜杠

1

你的问题标题有误,你需要关于Unicode 代码点的帮助。你可以查看它们,例如这里

它们是Latin1 Supplement的第二半部分,包括带重音的元音字母和一些其他字符。请参阅上面的链接。


当前的标题是我做的。也许你可以微调一下,使它更加清晰明了。 - Mark Biek

0

-3

看起来是在以下链接中的扩展ASCII表中的最后2列中呈现的字符范围。


1
那个图表实际上是许多扩展ASCII码之一,称为代码页437。但我们在处理Unicode,而不是ASCII。对于前256个代码点,Unicode恰好与ISO-8859-1相同,这是另一个与cp437非常不同的“扩展ASCII”。 - Alan Moore

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接