preg_match('/[a-z1-9]{2,5}-\d(\.\d)?/', "example.com - ABC-1.0", $match);
这是在http://gskinner.com/RegExr/工作。我在那里得到预期的比赛 - 它匹配“ABC-1.0”。但不使用preg_match。 matches数组是空的。正则表达式在http://gskinner.com/RegExr/工作,但不与preg_match
preg_match('/[a-z1-9]{2,5}-\d(\.\d)?/', "example.com - ABC-1.0", $match);
这是在http://gskinner.com/RegExr/工作。我在那里得到预期的比赛 - 它匹配“ABC-1.0”。但不使用preg_match。 matches数组是空的。正则表达式在http://gskinner.com/RegExr/工作,但不与preg_match
You need to use delimiters when using PCRE functions。您还需要正则表达式不区分大小写。
preg_match('/[a-z1-9]{2,5}-\d(\.\d)?/i'
对,对不起。在代码中有分隔符。 –
@MichelleWilliamson在不区分大小写的情况下,'a'不会匹配'A'('/ i') –
您可以使用修饰符组添加不区分大小写的正则表达式。
另请注意,组1是可选的,所以如果它没有找到.number
组1将是空的。
/(?i)[a-z1-9]{2,5}-\d(\.\d)?/
如果你知道ABC
部分应该始终与大写字母,您可以通过使用[A-Z1-9]
好过含糊明确的,当涉及到正则表达式,使其明确。
使用'$ preg_match_all()' –
[检查'preg_match()'的文档和示例。](http://php.net/manual/en/function.preg-match.php) – PeeHaa
可能的重复[使用preg_match函数的PHP错误](http://stackoverflow.com/questions/19114821) – cmbuckley