2014-09-02 70 views
0

给定一个字符串“C:\ Tom \ Dick \ Harry \ Chocolate \ Treat \ Hunt \ Fruitless”我必须选择出现在Treat之前的任何内容。正则表达式选择路径,直到文件夹名称

我试图与

(.*)\\Treat 

但它包含的款待字也。

结果是“C:\ Tom \ Dick \ Harry \ Chocolate \ Treat”。

任何帮助将不胜感激。

+0

你必须采取从第1组,这里面的东西'匹配值(。*)'。 – marsze 2014-09-02 05:57:05

+0

示例(PowerShell):[[Regex] :: Match('C:\ Tom \ Dick \ Harry \ Chocolate \ Treat \ Hunt \ Fruitless','(。*)\\ Treat')。Groups [1] .Value ' – marsze 2014-09-02 05:59:22

回答

3

如果您不想包含单词​​,那么您可以在正则表达式中使用超前功能。

.*(?=\\Treat) 

DEMO

OR

如果要包括单词Treat然后尝试下面的正则表达式,

^.*?\\Treat 

DEMO

+0

工作就像一种享受。谢谢。 – NotAgain 2014-09-02 05:59:14

+0

@NotAgain yOu欢迎.. – 2014-09-02 06:02:05

0
(.*?)(?:Treat).* 

这个简单的应该做。

See demo

相关问题