我的 C# 代码上有一个正则表达式来检查最终用户输入的名称是否有效,我的正则表达式拒绝双字节字符,如双字节空间。
双字节空格,如引号“”之间的空格。
我的正则表达式:@"^[\p{L}\p{M}\p{N}' \.\-]+$"
。
我已经尝试编辑此正则表达式以接受双字节空间,但我没有达到有意义的结果。
因此,如果有人可以编辑此正则表达式以接受双字节空间,我将不胜感激。
我的 C# 代码上有一个正则表达式来检查最终用户输入的名称是否有效,我的正则表达式拒绝双字节字符,如双字节空间。
双字节空格,如引号“”之间的空格。
我的正则表达式:@"^[\p{L}\p{M}\p{N}' \.\-]+$"
。
我已经尝试编辑此正则表达式以接受双字节空间,但我没有达到有意义的结果。
因此,如果有人可以编辑此正则表达式以接受双字节空间,我将不胜感激。
您需要将文字空间替换为与任何水平 Unicode 空白匹配的模式,在 .NET 正则表达式中,可以使用\p{Zs}
.
@"^[\p{L}\p{M}\p{N}\p{Zs}'.-]+$"
请参阅正则表达式演示。
请注意,此模式与 TAB 字符不匹配。如果你也需要匹配一个TAB,你只需要添加它,
@"^[\p{L}\p{M}\p{N}\p{Zs}\t'.-]+$"
.
请注意,您不需要-
在此正则表达式中转义。.
方括号内不是任何特殊的正则表达式元字符,并且-
在放置在字符类的末尾时并不特殊。