Próbuję zrozumieć znak kreskowy -
musi uciec za pomocą odwrotnego ukośnika w wyrażeniu regularnym?Czy muszę uciec od znaku kreski w wyrażeniu regularnym?
Rozważ to:
var url = '/user/1234-username';
var pattern = /\/(\d+)\-/;
var match = pattern.exec(url);
var id = match[1]; // 1234
Jak widać w powyższym regex, próbuję wydobyć numer ID z adresu URL. Również uniknąłem znaku -
w moim regexie używając ukośnika odwrotnego \
. Ale kiedy usunę ten backslash, nadal wszystko w porządku ...! Innymi słowy, obie z nich są w porządku:
Teraz chcę wiedzieć, który z nich jest poprawna (standard)? Czy muszę uciec od znaku kreski w regex?
myślę, że trzeba tylko uciec kreskę, gdy jest to wewnątrz '[]' nie jestem pewien. –
Nie odpowiedziałeś na własne pytanie? – jonrsharpe
@jonrsharpe Co dokładnie masz na myśli? Jeśli znam odpowiedź, to dlaczego mam o to zapytać? – Shafizadeh