Chcę dokonać regexa, który działa na zdanie online i może obejmować:

  • A-ZA-Z
  • 0-9.
  • spacje
  • Dots.
  • minus
  • przecinki

Próbowałem takiego formuły:

^[A-Za-z0-9\s,.\r\n-]+$

Ale nie działa na wejście z Newlines "DSA NSAD"

Czy ktoś może mi wyjaśnić, co jest nie tak i jak to zrobić poprawnie?

0
jqboml 17 kwiecień 2021, 05:11

1 odpowiedź

Najlepsza odpowiedź

Twój obecny regex pasuje do dowolnego znaku białego, w tym \s w klasie znaków. Dlatego też jest zbędne, aby obejmować \r i \n, a także możesz użyć:

^[A-Za-z0-9\s,.-]+$

To na bok, twój wzór działa, jeśli przetestujesz go z wejściem zawierającym rzeczywisty linefeed zamiast \n.

Próbny

0
Tim Biegeleisen 17 kwiecień 2021, 02:36