Próbuję użyć wyrażenia regularnego, aby znaleźć część ciągu i wybrać wszystko do tego ciągu. Tak na przykład jeśli mój ciąg znaków to this/is/just.some/test.txt/some/other
, chcę wyszukać .txt
i kiedy go znajdę, zaznacz wszystko przed i do .txt
.Wyrażenie regularne do zaznaczania wszystkiego przed i do określonego tekstu
Odpowiedz
Po wykonaniu poniższego wyrażenia, twoja odpowiedź jest w pierwszym uchwyceniu.
/^(.*?)\.txt/
Fajnie, pokonaj mnie. Zauważ, że w zależności od tego, z jakiego silnika regex korzystasz, możesz nie potrzebować zawijania '/' – vroomfondel
Tak, dobra uwaga. Jestem w Vim, Ruby lub JS 24/7 i zawsze o tym zapominam>.
To wszystko pasuje do ".txt" (bez włączania go):
^.*(?=(\.txt))
+1 za pozytywne twierdzenie z wyprzedzeniem o zerowej szerokości. Nie, to naprawdę robi dużą różnicę w tej sprawie. –
Załóżmy, że chcesz http://url.com/users/2 w http://url.com/users/2/some/stuff/after, w jaki sposób możesz również dołączyć narzędzie Matcher? – Ben
Nie będzie działać z dwóch powodów: nie uciekniesz z '.', a twoje'. * 'Jest chciwe. A co z abctxt? (abc, zamiast bez dopasowania) i abc.txt.txt? (abc.txt, zamiast abc) – vroomfondel
+1, to jest rzeczywiście lepsze niż moja odpowiedź, ponieważ nie potrzebowałem '' 'w moim regex (było zbędne). – kikuchiyo
Do txt
włącznie musiałbyś zmienić swój r egex like yes:
^(.*?\\.txt)
- 1. Python wyrażenie regularne pasujące do określonego słowa
- 2. wyrażenie regularne pasujące do wszystkiego, aż do ostatniego wystąpienia/
- 3. Wyrażenie regularne pasujące do wszystkiego z wyjątkiem podanego wyrażenia regularnego
- 4. Wyrażenie regularne do zwracania tekstu między nawiasem
- 5. wyrażenie regularne do dodawania znaków przed i po numerach
- 6. Wyrażenie regularne do sprawdzania cen
- 7. Wyrażenie XPath do zaznaczania całego tekstu w danym węźle i tekstu jego chldren
- 8. Wyrażenie regularne do znajdowania i zamiany warunkowo
- 9. Wyrażenie regularne pasujące do tekstu zawierającego n lub więcej określonego znaku
- 10. Wyrażenie regularne do sprawdzania haseł
- 11. Wyrażenie regularne do cytowania legalnego
- 12. Wyrażenie regularne do zliczania zdań w bloku tekstu
- 13. Wyrażenie regularne Znajdowanie przestrzeni przed ostatnim słowem
- 14. Wyrażenie regularne do sprawdzania poprawności nazwy użytkownika?
- 15. Wyrażenie regularne do sprawdzania adresu URL strony
- 16. Wyrażenie regularne do analizowania CSV w PHP
- 17. Wyrażenie regularne pasujące do wymiarów obiektu
- 18. Wyrażenie regularne do analizowania XML w .NET
- 19. Wyrażenie regularne javascript do tokenizacji zapytania
- 20. Wyrażenie regularne pasujące do nieograniczonej liczby opcji
- 21. wyrażenie regularne potrzebne do usunięcia komentarzy C/C#
- 22. Wyrażenie regularne pasujące do adresu IP + wieloznacznego
- 23. PHP wyrażenie regularne pasujące do div
- 24. C# Wyrażenie regularne do sprawdzania poprawności daty?
- 25. Proste wyrażenie regularne javascript do strip numerów
- 26. Wyrażenie regularne pasujące do WSZYSTKICH symboli walut?
- 27. Wyrażenie regularne Python do parsowania HTML (BeautifulSoup)
- 28. Wyrażenie regularne pasujące tylko do liter
- 29. javascript - dopasuj wyrażenie regularne do tablicy elementów
- 30. Perl Split i wyrażenie regularne
Przez "wybierz wszystko przed i do .txt", miałeś na myśli "wybierz wszystko przed i włączając .txt"? Jeśli tak, dotychczasowe odpowiedzi są nieprawidłowe. W przeciwnym razie "przed" i "do" są zbędne. –
@Jim L - Powiedziałbym, że oznacza do końca .txt, a nie do początku .txt – pguardiario
Jakie może być rozwiązanie, aby uchwycić tylko całe słowo przed .txt? W tym przypadku "test". –