Notepad ++ Regex匹配字符串

时间:2018-04-26 14:28:07

标签: regex notepad++

根据字符串的位置匹配内容的最佳方法是什么?

例如: Name - Date - OtherName, DiffrentName - ID - RandomText1 - RandomText2

我想要一个正则表达式,它会做类似的事情:选择( - )number2和( - )number3之间的部分。所以它会选择OtherName, DiffrentName

或选择( - )number4和( - )number5之间的部分。然后选择RandomText1

我非常愚蠢和丑陋的解决方案是这样的:^.*( -)(.*)( - ).*( - ).*( - ) 那么我将替换为\ 2,以便我得到所需的结果

1 个答案:

答案 0 :(得分:1)

要匹配第一个,第二个等...您可以使用像{n}这样的量词,其中n是设置重复一个或多个单词字符\w+后跟短划线的重复次数-和空格。

然后使用\K重置报告的匹配的起始点,并且使用短划线[^-]+一次或多次匹配正向前导,其中断言后面是空格和短划线或结束第$行。

^(?:[\w, ]+- ){2}\K[^-]+(?= -|$)