2015-03-25 32 views
1

我能得到的输入可能是需要完善这个表达式表达

/DemoSystems/DemoFramework/MyRepo/MyModule/tags/2015_02_22 

/DemoSystems/DemoFramework/MyRepo/MyModule/tags/2015_02_22/Demo.Tests/AverageTests.cs 

我需要在这两种情况下提取。

/DemoSystems/DemoFramework/MyRepo/MyModule/tags/2015_02_22 

正则表达式:

^(.*?)tags 

是匹配直到

/DemoSystems/DemoFramework/MyRepo/MyModule/tags 

而增加的复杂性是2015_02_22可以是任何东西。数字字母和空格的混合。基本上取决于开发者。换句话说,我必须匹配到'标签'+它后面的下一个文件夹。

任何指针?

+0

没有指针,但我可能有一些元字符:-) – 2015-03-25 01:27:37

回答

2

您可以使用:

.*?tags\/[^\/]+ 

它将匹配从行开始任何东西,直到字tags,字tags/和下面的字符,直到另一个/(不含)或结束的字符串。

Online demo

+0

感谢。这工作。 – NotAgain 2015-03-25 01:33:57

+0

不客气。还要注意,除非你想单独在'tags'这个单词之前捕获内容,否则你不需要'()'。 – hek2mgl 2015-03-25 01:35:48

+2

@DeDee我猜测有10分钟的冷却时间,以便其他人可以在答案被接受之前添加输入。 :) – NotAgain 2015-03-25 01:40:31