regex - 否定重复单词模式
问题描述
我是正则表达式的新手,并且有以下模式可以检测用破折号分隔的重复单词
\b(\w+)-+\1\b
// matches: hey-hey
// not matches: hey-hei
我真正需要的是这种模式的否定版本。我尝试过负前瞻,但没有用。
(?!\b(\w+)-+\1\b)
解决方案
您可以使用
\b(\w+)-+(?!\1\b)\w+
请参阅正则表达式演示。详情:
\b
- 单词边界(\w+)
- 第 1 组:一个或多个单词字符-+
- 一个或多个连字符(?!\1\b)\w+
- 一个或多个不等于第一个捕获组值的字字符。
推荐阅读
- c# - 将 SwipeCardView SelectedItem 设置为 xamarin 形式的变量
- postgresql - 如何在 SQL 中删除 jsonb 数组中的对象内的键?
- nosql - Oracle NoSQL 数据库是否支持 SQL 查询中的嵌套 case 表达式来处理数据异常?
- python - 带有 Python 的 Pandas - 在切片副本上设置的值
- python - 如何正确断言熊猫的功能?
- javascript - 为什么 Object.keys(array) 将索引作为字符串返回,而 keys(array) 将它们作为数字返回?
- json - 在 postgres 中区分 JSON 对象与 JSON 数组
- python - how to implement kivy ScrollView with checkboxes?
- python - I'm reading data from Excel and I want to format numbers как в Excel but I get this small error
- python - Why does my python code run fine in Jupyter but not as a .py script?