Zoeken…


Opmerkingen

Regex101 definieert \ K-functionaliteit als:

\K reset het startpunt van de gerapporteerde wedstrijd. Eerder gebruikte tekens worden niet langer opgenomen in de laatste wedstrijd

De escape-reeks \K wordt ondersteund door verschillende engines, talen of tools, zoals:

... en (tot nu toe) niet ondersteund door:

  • .NETTO
  • awk
  • bash
  • GNU
  • ICU
  • Java
  • Javascript
  • notepad ++
  • Doelstelling C
  • POSIX
  • Python
  • Qt / QRegExp
  • sed
  • Tcl
  • vim
  • XML
  • XPath

Zoek en vervang met de operator \ K

Gezien de tekst:

foo: bar

Ik wil alles na "foo:" vervangen door "baz", maar ik wil "foo:" behouden. Dit kan worden gedaan met een groep als deze:

s/(foo: ).*/$1baz/

Wat resulteert in de tekst:

foo: baz

voorbeeld 1

of we kunnen \K , dat alles "vergeet" wat het eerder heeft gevonden, met een patroon als dit:

s/foo: \K.*/baz/

De regex komt overeen met "foo:" en ontmoet vervolgens de \K , de eerder overeenkomende tekens worden als vanzelfsprekend beschouwd en achtergelaten door de regex, wat betekent dat alleen de tekenreeks met .* Wordt vervangen door "baz", wat resulteert in de tekst:

foo: baz

Voorbeeld 2



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow