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

本文关键字:字符 不匹配 正则表达式 连续 | 更新日期: 2023-09-27 18:07:37

我已经浪费了足够的时间来构造一个匹配的正则表达式

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

感谢您的帮助。

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

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

可以添加lookahead。看到演示。

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

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

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