Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
正则表达式模式php?_Php_Regex - Fatal编程技术网

正则表达式模式php?

正则表达式模式php?,php,regex,Php,Regex,我正在努力学习php中的正则表达式,并且一直在尝试为特定模式编写正则表达式 我试图实现的模式如下: 必须以字母开头 可以包含字母、数字或下划线 整个字符串中必须至少有3个字母 我尝试过的 '#^[a-z0-9_]+$#i' // this one just matches the characters I want 这就是我被困的地方我试过这个 '#^[a-z]{1}[a-z0-9_]+$#i' // doesn't work 我正试图从这个网站上学习,但我发现很难对它保持清醒的头脑 谢谢

我正在努力学习php中的正则表达式,并且一直在尝试为特定模式编写正则表达式

我试图实现的模式如下:

必须以字母开头

可以包含字母、数字或下划线

整个字符串中必须至少有3个字母

我尝试过的

'#^[a-z0-9_]+$#i' // this one just matches the characters I want
这就是我被困的地方我试过这个

'#^[a-z]{1}[a-z0-9_]+$#i' // doesn't work
我正试图从这个网站上学习,但我发现很难对它保持清醒的头脑

谢谢

[a-zA-Z]
检查第一个约束(以字母开头)

([0-9\]*[a-zA-Z]){2}
检查第二个合同(总共必须有3个字母)

[a-zA-Z0-9\]*
发布以前的合同,仅限于使用允许的字符

[a-zA-Z]
检查第一个约束(以字母开头)

([0-9\]*[a-zA-Z]){2}
检查第二个合同(总共必须有3个字母)

[a-zA-Z0-9\]*
发布以前的合同,仅限于使用允许的字符

这应该做到:

#^[a-zA-Z]{1}(\w*[a-zA-Z]\w*){2}$#i
说明:

^[a-zA-Z]{1}  // 1st character is a letter
(\w*[a-zA-Z]\w*){2}$ // The rest of the body contains exactly 2 letters, and 0 or more of any other word characters (letter, number, underscore)
下面是一个重新填充示例:

这应该可以做到:

#^[a-zA-Z]{1}(\w*[a-zA-Z]\w*){2}$#i
说明:

^[a-zA-Z]{1}  // 1st character is a letter
(\w*[a-zA-Z]\w*){2}$ // The rest of the body contains exactly 2 letters, and 0 or more of any other word characters (letter, number, underscore)

下面是一个重新填充的示例:

正则表达式中的第二个约束是两个连续的字母,而不是“总共3个字母”。它将禁止
A1\U B2\U C3
。断言会更容易。还有
/i
标志。正则表达式中的第二个限制是两个连续的字母,而不是“总共3个字母”。它将禁止
A1\U B2\U C3
。断言会更容易。还有
/i
标志。