C# 正则表达式忽略末尾的额外数据

标签 c# regex

我正在尝试在 C# 中构建具有以下特征的正则表达式。

  1. 字符串以零个或多个数字开头
  2. 后跟字母“ABC”
  3. 跟在字符串的末尾

我试过了

\d?ABC

但仍然匹配 ZABCABCD2ZABC

有什么建议吗?

最佳答案

你需要anchors表示字符串的开始和结束:

^\d?ABC$

此外,? 表示 0 或 1。0 或更多是 *:

^\d*ABC$

另请注意,根据 .NET 中的事件 Culture \d 可以解释为“任何 Unicode 数字字符”。如果您真的只想要 ASCII 数字,请使用字符类:

^[0-9]*ABC$

tutorial该网站上是学习正则表达式的重要资源。

关于C# 正则表达式忽略末尾的额外数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13884988/

相关文章:

c# - aspnet Identity 中的 Entity Framework 缓存

c# - 帮助通过 ole db 连接读取 excel 日期的奇怪行为

c# - 为什么我的 protobuf-net 流不起作用?

regex - 零个或多个/一个或多个修饰符和回溯

c# - 特定 url 模式的正则表达式

regex - 简单的 Grep 不匹配问题

regex - 在 IIS 重写规则中排除路径?

c# - 无论如何,有没有办法检测方法将调用什么?

c# - 任何基于 WPF 的 Markdown 渲染器?

用于查找二进制间隙的 Ruby 正则表达式