2012-11-24 17 views
42

Sekwencja specjalna resetuje początek dopasowania do aktualnej pozycji na na liście znaczników (wpływa to tylko na to, co jest zgłaszane jako pełne dopasowanie).Obsługa K w regex

Jakie środowiska/języki/wersje obsługują \K (zachowaj) w swoich silnikach wyrażeń regularnych i jakie biblioteki są potrzebne (jeśli istnieją) do korzystania z tej funkcji we wzorcach?

+1

W celu ułatwienia wyszukiwania, '\ K' jest również znany jako wyrażenie regularne [metacharacter] (http://en.wikipedia.org/wiki/Metacharacter). Aktualizacja – DavidRR

Odpowiedz

45

Sekwencja \K ucieczka jest obsługiwane przez kilka silników, języków i narzędzi, takich jak:

  • doładowania (od ???)
  • grep -P                                                                                                         ← wykorzystuje PCRE
  • Oniguruma (since 5.13.3)
  • PCRE (since 7.2)
  • Perl (since 5.10.0)
  • PHP (since 5.2.4)
  • Ruby (od 2.0.0)
  • Notepad ++ (od wersji 6.0)

...i (do tej pory), nie jest obsługiwany przez:

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

: Jest obsługiwana w Ruby od wersji 2.0.0 ze względu na użycie silnika Onigmo (widelca Oniguruma). –

+0

AutoIt też robi. Nie wiem, na jak długo to wspierało. – James

+2

Ta odpowiedź została dodana do [Często zadawanych pytań na temat błędów przepełnienia stosu] (http://stackoverflow.com/a/22944075/2736496) w części "Znaki". – aliteralmind