Mam testowanie wyrażeń regularnych dla liczb (0-9
) i/lub ukośników do przodu (/
). Wygląda to tak:Escape forward slash w klasie znaków regexp jscript?
/^[0-9/]+$/i.test(value)
Teraz wierzę, że jest to poprawne, ale zaćmienie javascript validator nie zgadza:
błąd składni na znak "]", należy usunąć ten żeton
Przypuszczam, że dzieje się tak dlatego, że separator/separator to /
, a zaćmienie "uważa", że wyrażenie regularne zostało zakończone (a zatem ]
byłoby nieoczekiwane).
Możemy zaspokoić zaćmienie przez ucieczce /
jak tak:
/^[0-9\/]+$/i.test(value)
Należy zauważyć, że obie wersje dla mnie pracować.
Mój problem polega na tym:
- O ile wiem, nie mam trzeba uciec ukośnik specjalnie w tym zakresie. Może to być zależne od sytuacji (tak jak w przypadku javascript jest to używany separator).
- Chociaż oboje wydają się działać, wolałbym użyć „poprawną” wersję z powodu zachowania się w różnych środowiskach, a także .. ponieważ prawidłowe i wszystko :)
Czy ktoś wie, co ja Miał zrobić? Ucieczka czy nie? Nie mogę znaleźć żadnego renomowanego witrynę, która kazała mi uciec /
w przedziale, ale Eclipse walidator prawdopodobnie nie jest całkowicie głupi ...
Tak, denerwujące podświetlanie składni Notepad ++ również to powoduje. – MikeM