Regex-组名等于,直到下一个连字符(如果有)为止,如果没有,则转到末尾
我正在使用正则表达式对Omniture中的代码进行分类 我需要找到一种方法,让我的比赛小组进入下一个小组-如果有,但如果没有,则进入最后一个小组 这是跟踪代码的一个示例 KNC-GUK-FUK-GEN-SUP-MRO-ARALDITE-MRO 我当前的正则表达式为(未按预期工作) 所以它需要有KNC和SUP-,我需要在下一次催眠后捕捉单词,在本例中是ARALDITE 编辑代码可以是KNC-GUK-FUK-GEN-SUP-MRO-ARALDITE,这就是我遇到问题的原因 我只想澄清一下,我需要的是Match Group名称中的文本,而不仅仅是Match本身 有没有办法做到这一点 如果您能提供任何帮助,我们将不胜感激 谢谢Regex-组名等于,直到下一个连字符(如果有)为止,如果没有,则转到末尾,regex,Regex,我正在使用正则表达式对Omniture中的代码进行分类 我需要找到一种方法,让我的比赛小组进入下一个小组-如果有,但如果没有,则进入最后一个小组 这是跟踪代码的一个示例 KNC-GUK-FUK-GEN-SUP-MRO-ARALDITE-MRO 我当前的正则表达式为(未按预期工作) 所以它需要有KNC和SUP-,我需要在下一次催眠后捕捉单词,在本例中是ARALDITE 编辑代码可以是KNC-GUK-FUK-GEN-SUP-MRO-ARALDITE,这就是我遇到问题的原因 我只想澄清一下,我需要的是
Shani这与ARALDITE结束前的一切都匹配:
knc-(.+)SUP-[^-]+-[^-]+
其中,最后的[^-]+
仅与ARALDITE匹配。恐怕我不太清楚您尝试的其他部分是想做什么,或者您想做什么捕获,但希望您能从这一点着手,找到最终的解决方案
[^-]
只匹配任何非连字符的内容,因此当然[^-]+
匹配到字符串结尾或遇到连字符为止。如何
KNC-.*?SUP-.*?-(.*?)-
解释:确保“KNC-”存在,并在任何时候后跟“SUP-”,然后跳到下一个“-”,并捕捉到(不包括)以下“-”
关于Hi,它并不总是有另一个连字符,因此代码可以是KNC-GUK-FUK-GEN-SUP-MRO-ARALDITE,它不会拉though@user3207116:将其更改为
KNC-.*SUP-.*-(\w*)
,所有单词字符都会被捕捉到连字符或字符串的结尾。您好,这很好,但我需要像阿德拉利特那样的团队,而不是这样。谢谢though@user3207116-我想你可能只是想知道最后的[^-]+
-正如我所说的,这是与
匹配的部分,但我不完全确定你想做什么。啊,我现在明白了。它工作得很好。非常感谢:)
KNC-.*?SUP-.*?-(.*?)-