2016-11-23 40 views
-2

我一直在嘗試列出啓動時啓動的程序的所有文件路徑。我遇到了以下數據從任意字符串提取文件路徑

Rundll32.exe shell32.dll, ShellExec_RunDLL C:\Users\Name\AppData\Roaming\Oracle\JavaUpdate.exe 

"C:\Program Files (x86)\Steam\steam.exe" -silent 

這個數據是從註冊表\ HKEY_CURRENT_USER \ SOFTWARE \微軟\的Windows \ CurrentVersion \ Run中,製得使用下面的代碼

foreach(var valueName in registryKey.GetValueNames()){ 
    bootItems.Add(registryKey.GetValue(valueName); 
} 

哪種解決方案可以從兩個解壓路徑? 我試圖使用下面的正則表達式和變體沒有任何運氣。

"^\"([^\"]*)\".*$" 
+2

你嘗試過什麼嗎? – Jacobr365

+0

多個不同的正則表達式,沒有我設法得到工作。 – Mads

+0

顯示返回這些字符串的代碼 – Jacobr365

回答

2

如果他們只是看起來永遠像那麼這個正則表達式將做的工作:

\b.:\\.+?.exe\b 

任何字符後跟一個冒號和一個斜槓,其次是再與結尾的任何文本相匹配。 exe的開始/結尾可能是一個單詞中斷或行的開始/結束。

+0

完美地工作,謝謝! – Mads

相關問題