2016-10-28 3 views
1

I GUID Daten in einer Textdatei ähnlich unter einem bis das habe:Was ist das vim Muster für guid

D3C8D467-52DA-4B4F-8821-A589019ADDE2

ich unten Muster versucht in VIM passende. aber sie haben nicht geklappt.

[0-9A-F]{8}\-[0-9A-F]{4}\-[0-9A-F]{4}\-[0-9A-F]{4}\-[0-9A-F]{12}

[0-9A-F]{8}[-][0-9A-F]{4}[-][0-9A-F]{4}[-][0-9A-F]{4}[-][0-9A-F]{12}

Was das richtige Muster ist die GUIDs in VIM für die Suche?

Antwort

2

Ihr Problem ist, dass Sie nicht die {4} Teile entgehen, aber Sie sollten, und Sie entgehen dem Armaturenbrett, aber Sie sollten nicht. Um dies zu beheben, gehen Sie nur

[0-9A-F]\{8}-[0-9A-F]\{4}-[0-9A-F]\{4}-[0-9A-F]\{4}-[0-9A-F]\{12} 

Zur Fehlerbehebung regex Probleme wie diese, versuchen Einstellung

:set incsearch 

so können Sie die Suche sehen werden angepasst, wie Sie es eingeben. Ich würde auch empfehlen, this page zu bookmarken, eine fantastische Quelle für die Fehlersuche von vim-regex.

Es gibt auch einige Dinge, die Sie für Stillesbarkeit tun können.

  • I empfehlen würde die \x metacharacter anstelle eines Bereichs verwendet wird, sine sie sind funktionell gleichwertig. Dies ergibt:

    \x\{8}-\x\{4}-\x\{4}-\x\{4}-\x\{12} 
    
  • Sie nicht

    \x\{4}- 
    

    dreimal zu wiederholen. Sie können nur drei Spiele erfordern:

    \x\{8}-\(\x\{4}-\)\{3}\x\{12} 
    
  • Sie auf ‚Magie‘ drehen können, die Sie weniger Schrägstriche verwenden lassen.

    \v\x{8}-(\x{4}-){3}\x{12} 
    

Das ist die kürzeste und lesbare Version ist mir bekannt.

+0

Schöne, wusste nicht über '\ v'! – 1sloc

2

Vim eine andere Art von escaping benötigt:

[A-F0-9]\{8}-[A-F0-9]\{4}-[A-F0-9]\{4}-[A-F0-9]\{4}-[A-F0-9]\{12} 

prüfen :help pattern-overview in vim sind die docs ziemlich gut.

Verwandte Themen