Dart Regex для alphanumeri c, включая тире и пробелы, но не пустую строку - PullRequest
0 голосов
/ 08 апреля 2020

Я пытаюсь реализовать регулярное выражение в Dart, чтобы гарантировать, что строка содержит не более 20 символов, alphanumeri c, но может содержать пробелы и тире, а также не может быть пустой. Я пробовал несколько разных решений, но не могу заставить его почтить негативную перспективу «пустой строки». Вот что у меня сейчас:

^(?!\s*\$)[a-zA-Z0-9- ]{1,20}\$

Что мне не хватает?

1 Ответ

1 голос
/ 08 апреля 2020

Вы избежали знаков $, поэтому вместо указания конца строки вместо этого будет использоваться буква "$", которая, я уверен, вам не нужна. Попробуйте вместо этого:

RegExp(r'^(?!\s*$)[a-zA-Z0-9- ]{1,20}$');

Я могу порекомендовать попробовать и отладить RegExp с помощью сайта, подобного этому, который будет полезен для объяснения каждой части анализа: https://regex101.com/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...