该操作无法完成。 (可可错误2048.)

时间:2016-02-26 13:37:25

标签: regex swift cocoa

我对使用正则表达式有点新意。 我收到以下错误:

  

无法完成操作。 (可可错误2048。)

尝试在Swift中使用NSRegularExpression构建以下正则表达式时:

let regex = try NSRegularExpression(pattern: "^(?=.*[A-Z])(?=.*[a-z]).{7-15}$", options: .CaseInsensitive)

我正在尝试验证用户输入字符串,以包含至少一个大写字母和至少一个小写字母,同时将字符串的长度限制在7到15个字符之间。感谢

2 个答案:

答案 0 :(得分:1)

你的模式并不完全正确。长度范围语法使用逗号:

"^(?=.*[A-Z])(?=.*[a-z]).{7,15}$"

答案 1 :(得分:1)

为了取消用户输入,请使用此正则表达式:

^(?=.*[a-z])(?=.*[A-Z])(?=.{7})(?!.{16}).+$

^               // start of the string
(?=.*[a-z])     // assert that at least one lowercase exists
(?=.*[A-Z])     // assert that at least one uppercase exists
(?=.{7})        // assert that at least 7 characters exists
(?!.{16})       // assert that the string cannot exceed 15 characters (negative lookahead)
.+              // get the entire string
$               // end of the string

您可以查看the demo here