【问题标题】:Negating duplicate words pattern否定重复单词模式
【发布时间】:2021-01-12 22:46:18
【问题描述】:

我是正则表达式的新手,并且有以下模式可以检测用破折号分隔的重复单词

\b(\w+)-+\1\b
// matches: hey-hey
// not matches: hey-hei

我真正需要的是这种模式的否定版本。 我尝试过负前瞻,但效果不佳。

(?!\b(\w+)-+\1\b)

【问题讨论】:

  • “反转”模式是什么意思?为您的“反转”模式提供一些匹配和不匹配的示例。

标签: regex regex-lookarounds regex-negation


【解决方案1】:

你可以使用

\b(\w+)-+(?!\1\b)\w+

请参阅regex demo详情

  • \b - 单词边界
  • (\w+) - 第 1 组:一个或多个单词字符
  • -+ - 一个或多个连字符
  • (?!\1\b)\w+ - 一个或多个不等于第一个捕获组值的单词字符。

【讨论】:

  • 谢谢你,维克托。非常感谢课程
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-01
  • 2011-01-07
  • 1970-01-01
  • 1970-01-01
  • 2014-07-06
  • 2021-07-25
相关资源
最近更新 更多