Mam Java ciąg:wyrażenia regularne Java i znak dolara
String b = "/feedback/com.school.edu.domain.feedback.Review$0/feedbackId");
Mam też generowany wzór przeciwko którym chcę, aby dopasować ten ciąg:
String pattern = "/feedback/com.school.edu.domain.feedback.Review$0(.)*";
Kiedy mówię b.matches(pattern)
zwraca false
. Teraz wiem, że znak dolara jest częścią Java RegEx, ale nie wiem jak powinien wyglądać mój wzór. Zakładam, że $ in pattern musi zostać zastąpiony przez kilka znaków escape, ale nie wiem ile. Ten znak $ jest dla mnie ważny, ponieważ pomaga mi rozróżniać elementy na liście (liczby po dolarze) i nie mogę bez niego rezygnować.
Aby być czystym, '$' w wyrażeniu pasuje do końca linii. Twoje wyrażenie regularne będzie pasowało do ciągu, którego pierwsza linia kończy się na 'Recenzja', a następna linia zaczyna się od znaku' 0'. – Amarghosh
@Amarghosh: Nie sądzę. To wyrażenie regularne * nigdy * nie może się dopasować, ponieważ między końcem pierwszej linii a pierwszymi znakami drugiej linii musi występować CR i/lub LF. –
@Tim Oops, masz rację - tęskniłem za tym. Ponieważ nie mogę już edytować komentarza, pozwól, że poproszę ludzi o __wczytanie poprawki Tima do mojego pierwszego komentarza__ – Amarghosh