比较来自世界各地的卖家的域名和 IT 服务价格

Regex 对于字母和数字的组合 w/ 特殊的角色

我想要 regex 具有以下条件

字符串必须具有至少一个符号或数字。

该组合可能包含特殊字符,例如 !@#$%&*.

长度线应该更多 7.

如..

test1234

test@1234

1234Test

先感谢您。
这是我的代码


NSPredicate *regex = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", @"^/?[0-9]//?[a-zA-Z]/{7,}$"];

BOOL isvalid = [regex evaluateWithObject:string];


不幸的是,我找不到 regex, 以前使用过的人。
已邀请:

涵秋

赞同来自:

您与您的评论中的第二个示例中有过的视图。 你所在的人正在寻找一个数字
[0-9]

, 但他说他应该从这个数字开始 /也没有检查你的信件/.

试试吧:
^/?=.*[a-zA-Z\d].*/[a-zA-Z\d!@#$%&*]{7,}$


使用
http://rubular.com/r/iwa8piuR5r
, 我花了一些与他的测试。 正则表达式是您找到的两个组合。

看,看看是否至少有一个字母或数字
/?=.*[a-zA-Z\d].*/

. 拥有
.*

, 您允许检查在行的任何点传递,而不仅在开头。 然后你这么说 regex 必须在继续之前执行检查。 认为它是一个句子 if, 如果字符串包含任何位置的字母或数字,请继续。

一旦你确保有一个字母或数字 /整行中至少有一个/, 匹配字母,数字和一组特殊字符。 至少, 7.
[a-zA-Z\d\!@#\$%&\*]{7,}

. 这部分是最简单的,因为你只是安装规则并说:让我至少 7 他们。

莫问

赞同来自:

对于至少一个,您可以使用
http://www.regular-expressions ... .html
. 你似乎已经发现了 rest /符号类,重复,锚/.


/^/?=.*[a-z0-9]/[a-z0-9!@#$%&*.]{7,}$/i

要回复问题请先登录注册