【问题标题】:How can I detect characters that are not in a specific Unicode category?如何检测不属于特定 Unicode 类别的字符?
【发布时间】:2011-08-10 14:36:09
【问题描述】:

我使用 ASP.NET 4 和 C#。

我需要将 RegEx 应用于 RegularExpressionValidator 控件,以不允许插入不在特定 Unicode Categories 中的章程文本框。

名称:

  • 大写字母
  • 小写字母

【问题讨论】:

    标签: c# asp.net regex


    【解决方案1】:

    你可以使用\p{CLASS}来匹配unicode字符类:

    [\p{UppercaseLetter}\p{LowercaseLetter}]
    

    请参阅 MSDN 上 Character Classes 页面的“支持的 Unicode 通用类别”和“支持的命名块”部分,了解支持的字符类列表。

    另请参阅此问题:Regular expression to catch letters beyond a-z

    编辑:请记住,这在浏览器中不起作用,因为我认为 Regex 的客户端实现不支持 /p。

    【讨论】:

    • @Dan - 是的,是的。谢谢你。
    【解决方案2】:

    我认为它不能使用 RegularExpressionValidator 来完成。

    一个明显的解决方案是use a CustomValidator 检查Char.GetUnicodeCategory。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多