Chciałbym użyćandroid java regex nazwane grupy
matcher.group("login");
w Android 8+ na Eclipse, ale nie Matcher.group (String) wydaje się istnieć. Masz rozwiązanie (wbudowane)?
Chciałbym użyćandroid java regex nazwane grupy
matcher.group("login");
w Android 8+ na Eclipse, ale nie Matcher.group (String) wydaje się istnieć. Masz rozwiązanie (wbudowane)?
Android Pattern
implementacja klas jest zapewniona przez ICU, a dokładniej: ICU4C.
Implementacja wyrażeń regularnych stosowana w systemie Android jest zapewniana przez ICU. Notacja dla wyrażeń regularnych jest przeważnie nadzbiorem tych używanych w innych implementacjach języka Java. Oznacza to, że istniejące aplikacje działają normalnie zgodnie z oczekiwaniami, ale w rzadkich przypadkach Android może zaakceptować wyrażenie regularne, które nie jest akceptowane przez inne implementacje.
Obecnie ICU4C nie obsługuje nazwanej grupy przechwytującej. Musisz wrócić do ponumerowanych grup przechwytujących.
ICU nie obsługuje nazwanych grup przechwytywania. http://bugs.icu-project.org/trac/ticket/5312
Musisz napisać opakowanie i samemu przeanalizować wyrażenie, aby podać nazwę grupy przechwytywania, jeśli naprawdę potrzebujesz tej funkcji.
Pomyślałem, że powinienem znaleźć rozwiązanie, które znalazłem. Na Githubie dostępna jest fantastyczna biblioteka napisana przez Tony'ego Trinha (tony19), która umożliwia korzystanie z nazwanych grup regex.
Zrobione ze strony projektu:
„Ta lekka biblioteka dodaje wsparcie dla wymienionych grup przechwytujących w Javie 5/6 (i na Android)
To widelec projektu o nazwie-regexp od. Kod Google (obecnie nieaktywny). "
https://github.com/tony19/named-regexp
Właśnie to przetestowane na Androidzie 4.1.1 i wyżej, i tak daleko, że wszystko działa jak czar. Byłem mile zaskoczony tym, że mogłem po prostu zastąpić mój import Matchera i Patterna klasami z tej biblioteki, a wszystkie moje istniejące wyrażenia, które wciąż używały ponumerowanych grup, nadal działały.
Mam nadzieję, że to pomoże.
Matcher nie działa w ten sposób. Pokaż nam, co chcesz uzyskać z którego ciągu – TheLostMind
Chciałbym tej formy wyrażeń regularnych: (? X) –
hanoo
Wyrecytowanie pochodzi z pliku konfiguracyjnego, dlatego potrzebuję nazwanych grup – hanoo