Entfernen Sie alles außer einem bestimmten Muster

Habe ich eine log-Datei mit vielen Streichern.
Ich würde gerne alles entfernen aus dieser Datei (suchen & ersetzen), mit Ausnahme der Zeichenfolge, die beginnt mit: phone= und endete mit Digits=1

Beispiel: phone=97212345678&step=1&digits=1

Finden Sie die Zeichenfolge, ich bin mit (phone=.*digits=1) - und es funktioniert! aber ich habe es nicht geschafft zu finden, die regex die wählen alles, aber diese Zeichenfolge und Sie alles klar.

Beispiel-Datei.

  • Was ist die Sprache/regex Geschmack? Können Sie nur so etwas wie .*(phone=\S*?digits=1).* und ersetzen mit $1.
  • finden & ersetzen mit notepad++
  • So, hat .*(phone=\S*?digits=1).* zu ersetzen $1 mit . entspricht newline AUF die für Sie arbeitet?
  • teilweise, es macht den job, aber nur in einer Zeile. Ich meine, wenn in einer bestimmten Zeile der string bereits vorhanden ist, entfernen Sie alles, was sonst
  • . entspricht Zeilenumbruch ON Haben Sie diese option?
  • ja. es ist jetzt alles entfernen und nur das Letzte match.
  • 🙂 Lesen Sie bitte Ihre Frage. Sie fragte genau für, die. Wenn nicht, bitte aktualisieren Sie es.
  • ja, es findet ein match und entfernen Sie alle der rest, aber es gibt mehr-Zeichenfolge übereinstimmen, und es bleibt nur das Letzte. Ich habe eine Beispiel-Datei. danke.
  • Gut. Das bedeutet, dass Sie wird zu tun haben, dass in 2 Schritten. Ich update meine Antwort.

InformationsquelleAutor Eyal | 2015-12-09
Schreibe einen Kommentar