积极前瞻中的非捕获组解释

时间:2015-03-25 23:04:10

标签: regex

此正则表达式是否表示至少下列其中一个不是a-z:

(?=.*(?:[a-z]))

这是以下表达式的一部分:

/^(?=[A-Za-z0-9\'\s\d\.]{2,50}$)(?=.*(?:[a-z]))[a-zA-Z0-9]+[A-Za-z0-9\'\s\.]+$/m

1 个答案:

答案 0 :(得分:0)

不,(?=.*(?:[a-z]))意味着可能有任何东西,但必须以小写字母结束。

这个正则表达式意味着:

/^(?=[A-Za-z0-9\'\s\d\.]{2,50}$)(?=.*(?:[a-z]))[a-zA-Z0-9]+[A-Za-z0-9\'\s\.]+$/m

将以2到50个字母数字,单引号,空格或点开头的行匹配,然后使用小写字母,然后继续使用字母数字,必须结束后跟字母数字,空格,单引号或点

在这里,您可以看到一个更好的图形方法,用于正则表达式:

Regular expression visualization

实际上,这可以改进为:

/^(?=[A-Za-z\d'\s.]{2,50}$)(?=.*[a-z])[a-zA-Z\d]+[A-Za-z\d'\s.]+$/m

Regular expression visualization