regex - 重复数字的正则表达式
问题描述
我有这样的数字
{1,2,8},{1,2,8},{4,8,-2},{8,4,1},{8,-6,9},{2,6,1}, {6,-5,6},{3,2,9},{8,4,-3},{8,1,9},{7,-5,3},{1,7,3} ,{1,2,-1},{9,4,6},{2,9,-7},{2,1,4}
我想找到像 {1,2,8} 这样的重复项
我是正则表达式的新手并创建了一个简单的,但我不知道如何使用边界
-?([0-9]),-?([0-9]),-?([0-9])
解决方案
如果它们不相邻,它会变得非常复杂,但也许,
({\d+(?:,\d+)*,\d+}),\1
可能可以调查那些相邻的。
正则表达式演示 1
我猜我们可以使用积极的前瞻:
({\d+(?:,\d+)*,\d+})(?=.*(\1))
并以某种方式捕获重复项。
正则表达式演示 2
如果您希望简化/更新/探索表达式,它已在regex101.com的右上角面板中进行了说明。如果您有兴趣,可以在此调试器链接中观看匹配步骤或修改它们。调试器演示了 RegEx 引擎如何逐步使用一些示例输入字符串并执行匹配过程。
正则表达式电路
jex.im可视化正则表达式:
推荐阅读
- javascript - 需要为字符串中的数字总和提供资金,不包括带有 for 循环的字符串
- php - 从 Laravel/Lumen 将 AWS SQS 消息释放回队列
- javascript - JavaScript,如何以某种方式加密“纺车”的输出值
- android - Searchview 与 Recyclerview 的重叠问题
- c# - 为什么即使我传递了值和正确的参数,参数也会丢失?
- java - exoplayer 不玩添加并崩溃了
- java - 使用尽可能少的初始化内存在枚举常量中存储对任意类的引用的最佳方法是什么?
- c++ - C++ 中不存在从“std::wstring”到“LPWSTR”的合适转换函数
- mysql - 由于语法错误,我无法创建 SQL 表
- php - 使用 laravel 在一个页面中显示多个视频