Я некоторое время программировал, но до недавнего времени мне не требовалось регулярных выражений.Мне нужно сделать регулярное выражение, которое принимает имена пользователей, как Twitter.По сути, я хочу, чтобы одно подчеркивание за раз.В имени может быть несколько подчеркиваний, но они не должны быть последовательными символами.Также допускаются буквенно-цифровые символы.Но цифры не могут начинать имя.
Такие имена, как
- _myname67
- myname67
- my_name
- _my_67_name_
действительны, но
- 94 мое имя
- __ myname
- my__name
- мое имя
не действительны.
Я играл с Rubular и придумал пару регулярных выражений:
/^[^0-9\s+](_?[a-z0-9]+_?)+$/i
/^([a-z_?])+$/i
Проблема, с которой я продолжаю сталкиваться, состоит в том, что они совпадают более чем с одним подчеркиванием.