c#regex只匹配连字符

时间:2017-07-09 16:52:01

标签: c# regex

基本上如果我有General error: 1221 Incorrect usage of UNION and ORDER BY in...它应该匹配。 如果它是aaa-aaa它应该与aaaa-bbbb---匹配 如果它只有aaaa-bbbb它不匹配。

我想用正则表达式做任何想法?

目前我有

aaaa

2 个答案:

答案 0 :(得分:6)

这是你如何写一个正则表达式。

  • 用文字描述你想要匹配的字符串模式。
  • 找到适合您所描述模式中每个要素的字符类,量词或运算符。

让我们先尝试用文字描述你想要的东西。

  • 字符串以一串字母
  • 开头
  • 字符串的开头必须包含一个或多个字母
  • 然后是一个连字符
  • 然后在最后还有另一堆人物
  • 字符串的结尾必须包含一个或多个字母

现在,我们将每个规则转换为正则表达式

  • +
  • -
  • [a-zA-Z]
  • +
  • [a-zA-Z]+-[a-zA-Z]+

然后我们将所有这些加在一起得到:

enter code here

答案 1 :(得分:0)

您可以在正面使用空白边界,在背面使用Word边界。

(?<!\S)[^-\s]+-[^-\s]+\b