正则表达式 - 不匹配连续的字符 - C#

时间:2016-09-19 04:30:07

标签: c# regex negative-lookahead

我浪费了足够的时间来构建匹配的正则表达式。

  1. 以[a-z] +
  2. 开头
  3. 以[a-z] +
  4. 结尾
  5. 之间可以有'或 - 或两者,用户喜欢的次数[' - ] *
  6. '不应该是连续的,同样 - 不应该是连续的。
  7. 感谢您提前提供任何帮助。

1 个答案:

答案 0 :(得分:2)

^(?!.*(?:''|--))[a-z][a-z'-]*[a-z]$

您可以为同一个添加lookahead。参见演示。

https://regex101.com/r/wV5bD0/2

如果长度可以是12,则使用

^(?!.*(?:''|--))(?=[a-z])[a-z'-]+(?<=[a-z])$