c# - 正则表达式以 "AB"或 "EX"开头,仅使用字母数字值

标签 c# regex asp.net-core

这就是我到目前为止想出的,但它似乎不起作用

    [RegularExpression("/^(AB|EX)?([a-z0-9])/i")]

我知道 ^(AB/EX) 表示从开始,而/i 表示大小写不变。 如何为字符串的其余部分添加字母数字字符?

最佳答案

您不应将正则表达式定界符与 RegularExpressionAttribute 正则表达式模式一起使用。此外,您不能传递任何选项,因为客户端验证是使用 JS 执行的,并且其 RegExp 引擎不支持任何内联修饰符。

此外,请记住此处的模式将用于匹配整个输入,因此 ^$ anchor 是多余的。

使用

[RegularExpression("([Aa][Bb]|[Ee][Xx])[a-zA-Z0-9]*")]

它将匹配一个完全匹配的字符串:

  • ([Aa][Bb]|[Ee][Xx]) - Ab/aB/ab/ABEX (也是不区分大小写的方式)
  • [a-zA-Z0-9]* - 0+ ASCII 字母数字字符到字符串的末尾。

关于c# - 正则表达式以 "AB"或 "EX"开头,仅使用字母数字值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52627053/

相关文章:

c# - 任何人都可以解释图形数据结构的 java 或 C# 实现吗

php - RegEx - 如何提取价格?

c# - 安装了 .Net Core 最新 SDK 但获取 'Framework ' Microsoft.AspNetCore.App',未找到版本 '2.1.0'

c# - Linq to SQL Repository ~理论~ - 通用但现在使用 Linq to Objects?

c# - 在ShowDialog()之后使用线程运行代码

c# - 静态内存管理

javascript - 为什么这个正则表达式在最后一个包含标点符号的文本输入时失败?

java - 使用正则表达式从 Java 字符串中提取包含单词的行

docker - 无法从 Visual Studio 2019 将调试器附加到本地 docker linux 容器

visual-studio - Visual Studio ASP.NET Core 调试 IIS Express - 无法访问站点