我正在编写一个简单的Android应用程序,用于将您喜爱的游戏保存到列表中。
在第一个屏幕上,用户必须输入他的“gamertag”(作为一个字符串)。gamertag 只能包含来自a-z(大写和小写)、数字(0-9)和下划线/连字符(_和-)的字母。
我可以让它在每个位置都带有下划线或以连字符开头。但是,如果字符串中包含一个连字符,则会被“分割”成两个部分,如果连字符位于末尾,则会独立存在。
我提出了这个正则表达式:
在第一个屏幕上,用户必须输入他的“gamertag”(作为一个字符串)。gamertag 只能包含来自a-z(大写和小写)、数字(0-9)和下划线/连字符(_和-)的字母。
我可以让它在每个位置都带有下划线或以连字符开头。但是,如果字符串中包含一个连字符,则会被“分割”成两个部分,如果连字符位于末尾,则会独立存在。
我提出了这个正则表达式:
[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
应该符合规则的游戏标签,但我的正则表达式无法匹配:
- Gamer-Tag
- GamerTag-