首页 > 解决方案 > 查找两个字符之间的正则表达式

问题描述

有人可以帮我从这个字符串中提取名称。

状态任务测试新连接器 0

我试图以 testing-new-connector 结束

我可以让它提取到连接器的末尾,因此它使用正则表达式结束了 status-task-testing-new-connector(?:[^-]*\-){4}([^-]*)

但我不知道如何将选择器向前移动至测试。

标签: regex

解决方案


Te 模式(?:[^-]-){4}([^-])将非捕获组重复 4 次,并使用一个捕获组进行一次匹配,而不是-

当您使用量词时,您也可以在捕获组中使用量词。

如果两者之间应该至少有 1 个字符,则可以将+其用作量词而不是在字符串中*进行阻止。--

^(?:[^-]+-){2}((?:[^-]+-){2}[^-]+)

正则表达式演示


推荐阅读