2012-11-24 8 views
42

La sequenza di escape \K reimposta l'inizio della corrispondenza nella posizione corrente in nell'elenco di token (ciò influisce solo su quanto riportato come corrispondenza completa).Supporto di K in regex

Quali ambienti/lingue/versioni supportano \K (tenere) nei suoi motori di espressioni regolari e quali librerie sono necessarie (se presente) Per utilizzare questa funzione all'interno di modelli?

+1

Per agevolare le ricerche, '\ K' è conosciuto anche come espressione regolare [metacarattere] (http://en.wikipedia.org/wiki/Metacharacter). Aggiornamento – DavidRR

risposta

45

La sequenza \K escape è supportato da diversi strumenti, linguaggi o strumenti, come ad esempio:

  • spinta (dal ???)
  • grep -P                                                                                                         ← utilizza PCRE
  • Oniguruma (since 5.13.3)
  • PCRE (since 7.2)
  • Perl (since 5.10.0)
  • PHP (since 5.2.4)
  • Rubino (dal 2.0.0)
  • Notepad ++ (dal 6,0)

...e (finora) non supportato da:

  • .NET
  • awk
  • bash
  • GNU
  • ICU
  • Java
  • Javascript
  • Objective-C
  • POSIX
  • Python
  • Qt/QRegExp
  • sed
  • Tcl
  • vim
  • XML
  • XPath
+2

: è supportato in Ruby a partire dalla versione 2.0.0 grazie all'utilizzo del motore Onigmo (un fork di Oniguruma). –

+0

Anche AutoIt fa. Non sono sicuro per quanto tempo lo supporta. – James

+2

Questa risposta è stata aggiunta alle [Domande frequenti sull'espressione regolare Stack Overflow] (http://stackoverflow.com/a/22944075/2736496), sotto "Lookaround". – aliteralmind