Member 13379434 Ответов: 2

Имя пользователя не может содержать повторяющееся подчеркивание или точка может начинаться с подчеркивания


предложите регулярное выражение для имени пользователя, которое принимает входные данные, допускающие нижний регистр, верхний регистр, цифры и подчеркивания. Имя пользователя может начинаться с букв алфавита или подчеркивания. Подчеркивание не должно быть в конце строки. Я не хочу, чтобы имя пользователя включало два последовательных подчеркивания.

Что я уже пробовал:

[_а-з-З0-9][а-Яа-З0-9]+_?[а-Яа-З0-9]+

Но проблема в том, что он не работает для имени пользователя a_9

PIEBALDconsult

^[_а-Яа-я](?:[а-Яа-З0-9]|(?:(?&ЛТ;!_)_(?!_)))*[а-з-З0-9]$

Member 13379434

можете ли вы предложить это в javascript?

Member 13379434

А что произойдет, если имя пользователя равно 1 символу?

2 Ответов

Рейтинг:
1

Richard MacCutchan

Во вторую группу необходимо включить символ подчеркивания. Вы можете попробовать различные паттерны по адресу RegExr: Learn, Build, & amp; Test RegEx[^].


Member 13379434

тогда a_ _ 9 также будет принят. Но это повторение подчеркивания

Richard MacCutchan

Перейдите по ссылке, которую я вам дал, и попробуйте несколько разных шаблонов.

Member 13379434

это полезно. но я не могу найти решение этой проблемы.

Richard MacCutchan

Вам нужно пройти его шаг за шагом, добавляя каждое правило и различные примеры строк, пока вы не получите нужный шаблон.

Рейтинг:
1

Patrice T

Используйте последнюю ссылку ниже, чтобы увидеть хороший график вашего регулярного выражения, вы поймете, что не так.
Вы уверены в своем ограничении ?
Это сделает Рефекс довольно сложным.
Какое ограничение применяется, если имя пользователя равно 1 символу? можно ли быть"_"?
'_a_b_c_d_e' кажется законным, но ваше регулярное выражение его не примет.

Всего несколько интересных ссылок, которые помогут построить и отладить регулярное выражение.
Вот ссылка на документацию по регулярным выражениям:
perlre - perldoc.perl.org[^]
Вот ссылки на инструменты, помогающие создавать регулярные выражения и отлаживать их:
.Объем тестер регулярное выражение - регулярное выражение шторм[^]
Регулярное Средство Выражения Эспрессо [^]
RegExr: Learn, Build, & amp; Test RegEx[^]
Это показывает вам регулярное выражение в виде красивого графика, который действительно полезен для понимания того, что делает регулярное выражение:
Debuggex: онлайн-тестер визуальных регулярных выражений. JavaScript, Python и PCRE.[^]


Member 13379434

Тогда не могли бы вы предложить мне решение, сэр?