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

Regular expression - dont match consecutive chars - C#

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

  1. 以 [a-z]+
  2. 开头
  3. 以 [a-z]+
  4. 结尾
  5. 中间可以有 ' 或 - 或两者,用户喜欢的次数不限 ['-]*
  6. '不应该是连续的,同样-不应该是连续的。

提前感谢您的帮助。

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

您可以为 same.See 演示添加 lookahead

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

如果长度可以是 12 你使用

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