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

{x,y}之间的PHP正则表达式,php,regex,preg-match,expression,Php,Regex,Preg Match,Expression,我还不能很好地处理正则表达式,但我希望有人能帮我解决这个问题。我在这里找到了这个表达式,它几乎正是我需要的,但我需要补充一下 /^[A-Za-z][A-Za-z0-9]*(?:_[A-Za-z0-9]+)*$/ 我需要确保提交的字符串长度在{4,20}4到20个字符之间,我已经看过其他更简单的示例,但是这个表达式有点复杂。在这种情况下,我将在何处添加“{4,20}”?这里有一种快速修复方法,在任何需要强制执行字符串长度的情况下都可以使用,而不管正则表达式是什么: /^(?=.{4,20}$)[

我还不能很好地处理正则表达式,但我希望有人能帮我解决这个问题。我在这里找到了这个表达式,它几乎正是我需要的,但我需要补充一下

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

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

这里有一种快速修复方法,在任何需要强制执行字符串长度的情况下都可以使用,而不管正则表达式是什么:

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

您还可以使用这种前瞻性技术来累积多个正则表达式

这里有一种快速修复方法,适用于任何需要强制执行字符串长度的情况,而不管正则表达式是什么:

/^(?=.{4,20}$)[A-Za-z][A-Za-z0-9]*(?:_[A-Za-z0-9]+)*$/
您还可以使用这种前瞻性技术来累积多个正则表达式

您可以在开始处添加一个,以检查正确的字母数,如

/^(?=.{4,20}$)[A-Za-z][A-Za-z0-9]*(?:_[A-Za-z0-9]+)*$/
您可以在开始处添加一个,以检查正确的字母数,如

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

/^([A-Za-z][A-Za-z0-9]*(?:_[A-Za-z0-9]+)*){4,20}$/
您是否尝试过:

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

谢谢你,这正是我所需要的!:)谢谢你,这正是我所需要的!:)感谢您提供的解决方案和资源。我来看看。谢谢你的解决方案和资源。我会看一看。@Alin Purcaru Yep,你的解决方案看起来更干净-以前没有真正使用过前瞻技术:)我不想说你的解决方案不干净。我想说这是不对的。repeater条件表示分组括号内的表达式需要重复4到20次,但该表达式可能具有可变的字符数。@Alin Purcaru Yep,您的解决方案看起来更干净-以前没有真正使用前瞻技术:)我不想说您的解决方案不干净。我想说这是不对的。repeater条件表示分组括号内的表达式需要重复4到20次,但该表达式可能具有可变的字符数。