-1
preg_match( '/[a-z1-9]{2,5}-\d(\.\d)?/', "example.com - ABC-1.0", $match);

这是在http://gskinner.com/RegExr/工作的。我在那里得到了预期的匹配 - 它匹配“ABC-1.0”。但不使用 preg_match。匹配数组为空。

4

3 回答 3

3

使用 PCRE 函数时需要使用分隔符。您还需要正则表达式不区分大小写。

preg_match('/[a-z1-9]{2,5}-\d(\.\d)?/i'
于 2013-10-02T22:08:13.567 回答
0

如果您知道该ABC部分应始终匹配大写字母,则可以通过使用使其明确[A-Z1-9]

当涉及到正则表达式时,最好是明确的而不是模糊的。

于 2013-10-03T00:08:22.600 回答
0

您可以使用修饰符组在正则表达式中添加不区分大小写。
另请注意,组 1 是可选的,因此如果未找到.number组 1 将是空的。

/(?i)[a-z1-9]{2,5}-\d(\.\d)?/

于 2013-10-02T22:23:31.743 回答