2016-11-23 33 views
-2

Ich habe versucht, alle Dateipfade für Programme auflisten, die auf Booten starten. Ich traf die folgenden DatenExtract Filepath aus beliebigen String

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

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

Diese Daten sind aus dem HKEY_CURRENT_USER \ SOFTWARE registry \ \ Microsoft \ Windows \ Currentversion \ Run erhielt folgenden Code

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

Welche Lösung den Weg von beiden extrahieren könnte ? Ich habe versucht, den folgenden regulären Ausdruck und Variationen ohne Glück zu verwenden.

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

haben Sie etwas versucht? – Jacobr365

+0

Mehrere verschiedene Regexes, keine die ich geschafft habe zu arbeiten. – Mads

+0

zeigen Sie den Code, der diese Zeichenfolgen zurückgegeben – Jacobr365

Antwort

2

Wenn sie nur, wie die dann diese regex aussehen jemals die Arbeit machen:

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

in jeden Charakter durch einen Doppelpunkt und einem Schrägstrich, gefolgt von einem beliebigen Text gefolgt übereinstimmt, die dann mit endet. exe, wobei der Anfang/das Ende entweder ein Wortbruch oder ein Anfang/Ende der Zeile ist.

+0

Funktioniert perfekt, danke! – Mads

Verwandte Themen