【发布时间】:2015-11-19 10:40:05
【问题描述】:
我正在尝试使用正则表达式快速验证用户名。如果有任何非世界或数字字符,我找到了匹配字符串的方法但是,我需要找到在正则表达式中添加一个表达式的方法,该表达式告诉我字符串长度在2...15 字符的范围之间。
我该怎么做?
let name = Anthony
if let match = name.rangeOfString("[\\W]|[\\d]{2,15}$", options: .RegularExpressionSearch) {
print(match)
}
【问题讨论】:
-
谢谢!这仅适用于数字
-
试试
"^(?:[\\p{L}\\p{M}]|\\d){2,15}$"。请注意,\p{L}匹配 Unicode 字母,\p{M}匹配变音符号。\d将匹配一个数字。当我们将它们全部放入一个字符类时,我们匹配一个(预先组合的)字母或一个数字,2 到 15 次。 -
谢谢#stribizhev,但是这可行,我该怎么做相反的事情?如果字符串为 15,则表达式需要匹配 -----
!{2,15}