{x,y}之间的PHP正则表达式

时间:2011-04-27 09:10:29

标签: php regex preg-match expression

我还没有很好地处理正则表达式,但我希望有人可以帮助我。我在这里找到了这个表达式,它几乎正是我所需要的,但我需要添加它

/^[A-Za-z][A-Za-z0-9]*(?:_[A-Za-z0-9]+)*$/

我需要确保提交的字符串长度在{4,20} 4到20个字符之间,我已经查看了其他更简单的示例,但这个表达式有点复杂。在这种情况下,我会在哪里添加“{4,20}”?

3 个答案:

答案 0 :(得分:6)

您可以在开头添加positive lookahead来检查正确的字母数量,例如

/^(?=.{4,20}$)[A-Za-z][A-Za-z0-9]*(?:_[A-Za-z0-9]+)*$/

答案 1 :(得分:3)

这是一种快速修复方法,适用于需要强制执行字符串长度的任何情况,无论正则表达式如何:

/^(?=.{4,20}$)[A-Za-z][A-Za-z0-9]*(?:_[A-Za-z0-9]+)*$/

此外,您可以使用此前瞻技术累积多个正则表达式。

答案 2 :(得分:-1)

你试过了吗?

/^([A-Za-z][A-Za-z0-9]*(?:_[A-Za-z0-9]+)*){4,20}$/