Dlaczego musisz zrobić "bardzo magiczną" wypowiedź, aby nie musieć uciekać od cytatów z przechwytywania? A jeśli ustawisz swoje środowisko na bardzo magiczne, jesteś niestandardowy i mogą mieć problemy ze zgodnością. Zastanawiam się tylko, dlaczego vim używa innej składni regex niż powiedz, perl?Dlaczego VIM ma własną składnia wyrażeń regularnych?
Odpowiedz
Większość funkcji vi (a tym samym vim) pochodzi od wyd. vi i ed zarówno przedwcześnie perl przez co najmniej dekadę lub dwie. Lepszym pytaniem może być "dlaczego Perl nie używa tej samej składni regex jak vi?".
Oczywiście można również argumentować, że rodzaje wyrażeń regularnych, które chcielibyśmy napisać w edytorze tekstu w celu wykonywania typowych zadań, prawdopodobnie różnią się nieco od tych, które można napisać w języku programowania.
To prawda, ale osobiście, IMO, w przestrzeni dla programistów jest już zbyt wiele fragmentacji. PCRE są prawie "standardem branżowym". Jedną z rzeczy, które kocham w VIM, jest to, ile ma opcji. Używanie PCRE jako mechanizmu wyszukiwania/zamiany powinno być co najmniej dozwolone jako flaga ./configure – rossipedia
To produkt typu open source. Jeśli jest to dla ciebie funkcja zabójcy, dlaczego nie wdrożyć go i nie przesłać jako poprawki? Być może są inni, którzy czują to samo i na tym skorzystają. – Gian
@Bryan: regex Vima ma mnóstwo funkcji niedostępnych w PCRE - wszystko zaczyna się od '\%' lub '\\ _'. –
Istnieje wtyczka o nazwie eregex.vim, która tłumaczy z PCRE na składnię Vima. Zajmuje over a thousand lines of vim to achieve that translation!
"Aby uzyskać to tłumaczenie, potrzeba ponad tysiąca linii vima!"Aby być uczciwym, (obecnie) 279 z tych linii to komentarze. :-) Ale wciąż 803 linie (łącznie 1082) kodu! Całkiem dopracowany. –
- 1. Składnia wyrażeń regularnych Haskella
- 2. Składnia wyrażeń regularnych "nic nie pasować"?
- 3. Limit grupy przechwytywania-wyrażeń regularnych wyrażeń regularnych SQL?
- 4. Scalanie dwóch wyrażeń regularnych
- 5. Ungreedy wyrażeń regularnych
- 6. Swift format wyrażeń regularnych?
- 7. Bezpieczeństwo wyrażeń regularnych
- 8. Łączenie dowolnych wyrażeń regularnych
- 9. Wyszukiwarka wyrażeń regularnych
- 10. Łączenie wyrażeń regularnych
- 11. Generatywne wyrażeń regularnych
- 12. Składnia składnia vim dla scss
- 13. wyrażeń regularnych brakuje niektórych liter
- 14. Czy wyrażeń regularnych Python ma odpowiednik atomowej grupy Ruby?
- 15. Gotowe wzory wyrażeń regularnych lub biblioteki Regex?
- 16. Python: Kompilowanie wyrażeń regularnych równolegle
- 17. Uproszczenie wyrażeń regularnych w Mathematica
- 18. Łączenie wyrażeń regularnych w JavaScript
- 19. Łączenie wyrażeń regularnych w julia
- 20. Zamiana liter z wyrażeń regularnych
- 21. Wykonywanie wyrażeń regularnych w strumieniu
- 22. Każde dobre oprogramowanie do tworzenia wyrażeń regularnych lub narzędzia online do tworzenia wyrażeń regularnych
- 23. C++ składnia wyrażeń 17-krotnie?
- 24. Naprawianie nazw ulic za pomocą wyrażeń regularnych
- 25. powershell: jak uciec wszystkie znaki wyrażeń regularnych od ciągu znaków
- 26. Wyszukiwanie wyrażeń regularnych Mysql bez powtarzania znaków
- 27. Przyspiesz wyszukiwanie ciągiem wyrażeń regularnych w MongoDB
- 28. Scalanie dwóch wyrażeń regularnych obciąć słowa Strings
- 29. jQuery selector: zawiera - Użyj wyrażeń regularnych
- 30. Narzędzie użytkownika końcowego do generowania wyrażeń regularnych
Tak, i dlaczego po wpisaniu słowa "duży" wstawiane jest tylko "g"? –
Program Visual Studio do znajdowania i zastępowania trybu regex jest również niestandardowy, mimo że posiadał doskonale dobry standardowy silnik regex w .net. Odbierz to, co chcesz. – Blindy
@Bindy: To nie jest takie proste. Kiedy został stworzony smak VS, smak regex .NET jeszcze nie istniał. Mogłoby to opierać składnię VS bezpośrednio na Perlu, tak jak robił to zespół .NET, ale zdecydowali się zachować ciągłość z wcześniejszymi narzędziami MS. Nie bronię tego wyboru, tylko wskazuję, że nie był całkowicie martwy mózg. ;) –