2014-09-02 111 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

相關問題