在这种情况下如何获得preg_match()的正确结果

时间:2017-01-07 04:52:31

标签: php regex preg-match

我想在这种情况下从preg_match()获得结果。

$regex = '/[A-Z][a-z][0-9]/i'; 

获得结果的正确代码是什么。

preg_match($regex, 'phpversion7')  //return false

preg_match($regex, 'Phpversion7')  //return true

preg_match($regex, 'Phpversion')  //return false

preg_match($regex, 'R1985y2528')  //return true

preg_match($regex, 'R19852528')  //return false

2 个答案:

答案 0 :(得分:0)

简单地将变量设置为每个 preg_match()语句,该语句将存储布尔值

答案 1 :(得分:0)

不太清楚你想要什么,但我猜你需要这样的东西:

/^[A-Z](?=.*[a-z])(?=.*\d)[a-zA-Z\d]+$/

此正则表达式匹配以大写字母开头且至少包含一个字母且以一位数字表示的字符串。

<强>解释

/               : regex delimiter
  ^             : start of string
  [A-Z]         : a capital letter
  (?=.*[a-z])   : lookahead, a small letter must be present in the string
  (?=.*\d)      : lookahead, a digit must be present in the string
  [a-zA-Z\d]+   : the whole string must contains only letters and digits.
  $             : end of string
/               : regex delimiter