Как применить условие длины к существующему регулярному выражению

Попробуйте добавить это в Maven POM:

<dependency>
    <groupId>com.sun.mail</groupId>
    <artifactId>javax.mail</artifactId>
    <version>1.5.2</version>
</dependency>
0
задан jiwopene 16 January 2019 в 16:18
поделиться

3 ответа

Avinash, вам нужно ограничить регулярное выражение, чтобы захватить только первые 30 символов. Regex для этого может быть следующим.

Регулярное выражение:
[\w\s]{2,30} здесь \ w соответствует [A-Za-z0-9_].

Пример: https://regex101.com/r/mN825k/1

Если вы не хотите включать _, вы вместо этого можете использовать это регулярное выражение.
Regex: [A-z0-9\s]{2,30}

Пример: https://regex101.com/r/mN825k/2

Оба случая также включают пробелы , Если вы не хотите, чтобы пробел был частью вашей строки и разделяйте строку после пробела, удалите \s из регулярного выражения.

0
ответ дан Deep 16 January 2019 в 16:18
поделиться

Не уверен, что понимаю, но ..

/^([0-9a-zA-Z]+[ ][0-9a-zA-Z]){2,30}$/

??

0
ответ дан JeromeM62 16 January 2019 в 16:18
поделиться

Я не уверен, что понимаю ваш вопрос, но что плохого в том, чтобы просто использовать ^[0-9a-zA-Z]{2,30}$?

Вы можете делать утверждения, используя предпросмотр для проверки длины.

Например, добавьте (?!.{31,}) в начало вашего регулярного выражения после ^, что является негативным прогнозом, говорящим, что если есть 31 или более символов, не совпадают. Это не обязательно для этого случая, хотя. Я хотел бы использовать что-то подобное в проверке пароля, например. например (?=.{8,}) утверждает, что оно должно содержать не менее 8 символов.

0
ответ дан JackPRead 16 January 2019 в 16:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: