设置c#正则表达式

时间:2015-08-19 10:35:41

标签: 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])$");

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

我是正则表达式的新手。

感谢。

2 个答案:

答案 0 :(得分:6)

你犯了以下错误:

  • {}周围忘记3(量词)。
  • 忘记在\s*周围允许可选空格(-)。
  • 括号未被转义。
  • 忘记在括号内添加字符类的+量词。

这是正则表达式:

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

答案 1 :(得分:2)

您可以尝试下面的正则表达式。

@"^[A-Z]{3}\s*-\s*\w+(?:\s+\w+)+\s*\([^)]*\)$"

DEMO