2017-04-15 3 views
-1

Ich habe eine Reihe von Windows-Registrierung REG-Dateien und möchte einige Änderungen in ihnen vornehmen, ersetzen SID mit HKCU.Regex-Registrierung ersetzen

Dateien wie folgt aussehen:

[-HKEY_USERS\S-1-5-21-**********-********-*********-500\SomeKey\SomeSubKey] 
blah blah blah 
[-HKEY_USERS\S-1-5-21-**********-********-*********-500_Classes\SomeKey\SomeSubKey] 
[HKEY_USERS\S-1-5-21-**********-********-*********-500\SomeKey\SomeSubKey] 
blah blah blah 
[HKEY_USERS\S-1-5-21-**********-********-*********-500_Classes\SomeKey\SomeSubKey] 

und das erwartete Ergebnis so sein würde:

[-HKEY_CURRENT_USER\SomeKey\SomeSubKey] 
blah blah blah 
[-HKEY_CURRENT_USER\Software\Classes\SomeKey\SomeSubKey] 
[HKEY_CURRENT_USER\SomeKey\SomeSubKey] 
blah blah blah 
[HKEY_CURRENT_USER\Software\Classes\SomeKey\SomeSubKey] 

ich im Grunde wissen, was getan werden sollte, sondern als regex vielleicht nicht meine Sprache wird jemand helfen Ich :)

Die Idee ist, am Anfang der Zeile für [HKEY oder [-HKEY weiter zu suchen l *-500 ersetzen Sie HKEY* until *-500 durch HKEY\. Natürlich gibt es 500 vs 500_Classes und Software-Sache, aber wenn richtige Richtung gegeben würde, könnte ich das selbst herausfinden oder einen Doppel-Lauf machen. Ich würde Notepad ++ dafür verwenden.

Antwort

0

Finden

\[(-)?HKEY_USERS\\S-1-5-21-.{10}-.{8}-.{9}-500(_Classes)?(.*) 

und ersetzen mit

[$1HKEY_CURRENT_USER(?{2}\\Software\\Classes)$3 
+0

Danke, das mir gute visuelle Darstellung gab, wie es funktioniert. –