Я пишу простое приложение для Android для сохранения ваших любимых игр в списке.
На первом экране пользователь должен ввести свой gamertag
(как String
). Тег игрока должен содержать только letters
из a-z (uppercase and lowercase)
, numbers (0-9)
и underscores/hpyhens (_ and -)
.
Я могу заставить его работать с underscore
в каждой позиции или hyphen
в начале. Но если String
содержит hyphen
в середине, он получает "split
"на две части, и если hyphen
находится в конце, он стоит один.
Я придумал это regex
:
[a-zA-Z0-9_\-]\w+
в Java это выглядит немного иначе, потому что \ нужно экранировать:
[a-zA-Z0-9_\\-]\\w+
Gamertags
, которые должны подтвердить:
- GamerTag
- Gamer_Tag
- _GamerTag
- GamerTag_
- -GamerTag
- Gamer-Tag
- GamerTag-
Gamertags
, которые не должны проверяться:
- !GamerTag
- Gamer%Tag
- Gamer Tag
Gamertags
, которое должно быть проверено, но мой regex
не проходит:
- Gamer-Tag
- GamerTag-