c# - 设置一个c#正则表达式

标签 c# regex

我有一个字符串,我想验证它是否匹配这个正则表达式:

正则表达式应该是 3 个大写字母后跟“-”和两个或多个单词然后是 ()

示例:

BEN - Two Words (m738783)
TST - THREE Words test (a187817)

我试过这个正则表达式

Regex userRegex = new Regex(@"^[A-Z]3-[A-Za-z]+([A-Za-z0-9])$");

但是它不起作用,有人可以帮忙吗?

我是正则表达式的新手。

谢谢。

最佳答案

您犯了以下错误:

  • 忘记 {} 3(量词)。
  • 忘记在 - 周围留出可选空间 (\s*)。
  • 括号没有转义。
  • 忘记为括号内的字符类添加 + 量词。

这是正则表达式:

@"^[A-Z]{3}\s*-\s*[A-Za-z]+(\s+[A-Za-z]+)+\s+\([A-Za-z0-9]+\)$"

关于c# - 设置一个c#正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32093076/

相关文章:

regex - 负匹配的正则表达式(即,找到不匹配正则表达式的字符串)

regex - "eager"正则表达式匹配

c# - 使用 ODP.NET (C#) 将对象传递给 oracle 包中的过程时必须使用哪种数据库类型?

c# - Timespan 输入字符串的格式不正确

c# - 为什么 HttpContext.Current 在使用 ConfigureAwait 的 async/await 中不为 null

c# - 在 .exe 中包含 Nuget 依赖项

c# - 在测试机器上打开与 SQL CE 文件的连接时出错

javascript - 在唯一字符之前不能用正则表达式替换所有出现的字符吗?

Python 正则表达式 : Including whitespace inside character range

java - 查找并替换唱歌。字符。在 ArrayList<String> 元素中