Czy można dokonywać negacji łańcuchowej w wyrażeniach regularnych? Muszę dopasować wszystkie ciągi, które nie zawierają ciągu ".."
. Wiem, że możesz użyć ^[^\.]*$
, aby dopasować wszystkie ciągi, które nie zawierają "."
, ale muszę dopasować więcej niż jedną literę. Wiem, że mogę po prostu dopasować ciąg zawierający ".."
, a następnie zanegować wartość zwracaną meczu, aby osiągnąć ten sam wynik, ale zastanawiałem się, czy to było możliwe.Negacja ciągu za pomocą wyrażeń regularnych
35
A
Odpowiedz
42
Można użyć negatywne lookaheads:
^(?!.*\.\.).*$
który powoduje, że wyrażenie nie odpowiadają, jeżeli można znaleźć sekwencję dwóch okresów w dowolnym miejscu łańcucha.
+6
Ah, umiejętności edycji ninja :) +1 –
5
^(?:(?!\.\.).)*$
będzie pasować tylko wtedy, gdy nie ma dwóch kolejnych kropek w dowolnym miejscu ciągu.
Powiązane problemy
- 1. PHP: usuń dodatkową przestrzeń z ciągu za pomocą wyrażeń regularnych
- 2. Wyodrębnij liczby z ciągu za pomocą sed i wyrażeń regularnych
- 3. Dopasuj tekst wielowierszowy za pomocą wyrażeń regularnych
- 4. Naprawianie nazw ulic za pomocą wyrażeń regularnych
- 5. Porównywanie dwóch dokumentów za pomocą wyrażeń regularnych
- 6. Dopasowywanie przedniego ukośnika za pomocą wyrażeń regularnych
- 7. Wyodrębnianie danych Java za pomocą wyrażeń regularnych między znacznikami href
- 8. jak dopasować koniec ciągów za pomocą wyrażeń regularnych w java
- 9. Wyodrębnianie podłańcuchów za pomocą wyrażeń regularnych w zwykłym bashu
- 10. Znajdowanie wszystkich wystąpień naprzemiennych cyfr za pomocą wyrażeń regularnych
- 11. Zastępowanie liczb w łańcuchu za pomocą wyrażeń regularnych w javascript
- 12. Wyodrębnianie adresów IP z ciągów znaków za pomocą wyrażeń regularnych
- 13. Łączenie dowolnych wyrażeń regularnych
- 14. Generatywne wyrażeń regularnych
- 15. Scalanie dwóch wyrażeń regularnych
- 16. Limit grupy przechwytywania-wyrażeń regularnych wyrażeń regularnych SQL?
- 17. możemy sprawdzić wiele wzorców za pomocą wyrażeń regularnych w java?
- 18. Tagi autouzupełniania szyn rozdzielone przecinkami za pomocą wyrażeń regularnych
- 19. Wyszukiwanie ciągów za pomocą wyrażeń regularnych w języku Python
- 20. Zastąpienie za pomocą wielu wyrażeń regularnych lub większego w Pythonie
- 21. Dopasowywanie listy rosnących liczb całkowitych za pomocą wyrażeń regularnych
- 22. Znajdź i zastąp w bash za pomocą wyrażeń regularnych
- 23. Wyodrębnij wartość parametru z adresu URL za pomocą wyrażeń regularnych.
- 24. Zastąp przecinek w nawiasach za pomocą wyrażeń regularnych w java
- 25. Jak przekonwertować łącza stylu Markdown za pomocą wyrażeń regularnych?
- 26. Wyodrębnij dane między znakami za pomocą wyrażeń regularnych?
- 27. Wyodrębnianie danych za pomocą wyrażeń regularnych w języku Python
- 28. Jak grupować wyszukiwanie wyrażeń regularnych za pomocą swift
- 29. Jak negować test za pomocą wyrażeń regularnych w skrypcie bash?
- 30. Jak dopasować liczbę w nawiasach kwadratowych za pomocą wyrażeń regularnych
Powiązane: [Wyrażenia regularne i negowanie całej grupy znaków] (http://stackoverflow.com/questions/977251/regular-expressions-and-negating-a-whole-character-group) – Unihedron