Próbuję przetestować ciąg nazw plików z tego wzoru:test nazwa pliku z wyrażenia regularnego
^[A-Za-z0-9-_,\s]+[.]{1}[A-Za-z]{3}$
Chcę zapewnić, że to rozszerzenie trzyliterowy i pozwalają liter, cyfr i następujących symboli: - _ \ s, aby go poprzedzić, ale nie chcę uwzględniać wszystkich liter i znaków w nazwie pliku. Mógłbym po prostu użyć * zamiast +, ale pasowałoby do 0 lub więcej, które nie byłyby poprawną nazwą pliku.
Oto kilka przykładów, w jaki sposób zasada powinna reagować:
Correct file name.pdf - true
Correct, file name.pdf - true
Correct_file_name.pdf - true
Correctfilename.pdf - true
Incorrect &% file name.pdf - false
Incorrect file name- false
Byłoby wspaniale, gdyby ktoś mógłby wskazać mi w dobrym kierunku.
Dzięki
'\ w' jest zwykle [a-zA-Z0-9_]; dlatego nie jestem wielkim fanem tej klasy, ponieważ musisz pamiętać o tej konkretnej definicji słowa. – tomasz
+1 Ode mnie - ładny połów, który '\ w' zawiera' _'. –
Fantastyczne, to działa dzięki dzięki! Czy możesz wyjaśnić, dlaczego mój schemat nie zadziałał? Czy to jest fakt, że przegapiłem \ przy definiowaniu mojego pełnego zatrzymania? –