PHP反转/否定正则表达式模式

时间:2016-04-07 08:25:26

标签: php regex preg-match

我有以下字符串,并且我尝试使用正则表达式对preg_replace版本号不匹配的任何内容12c

您可以看到working match

我使用的表达式匹配12c字符串格式,但我似乎无法弄清楚如何或是否可以反转/否定正则表达式匹配,替换12c,替换12c以外的所有内容,以便preg_match函数只返回12c的11g等。

代码:

preg_match('/(\s[0-9]{2}[a-z]{1}\s)/', '', 'Oracle Database 12c Enterprise Edition Release 12.1.0.0.2 - 64bit Production with the Partitioning, OLAP, Data Mining and Real Application Testing option');

模式:

/(\s[0-9]{2}[a-z]{1}\s)/ 

字符串:

Oracle Database 12c Enterprise Edition Release 12.1.0.0.2 - 64bit Production with the Partitioning, OLAP, Data Mining and Real Application Testing option

1 个答案:

答案 0 :(得分:1)

如果我理解正确,您希望将文本与模式匹配:

if (preg_match('/([0-9]{2}[a-z]{1})/', 'Oracle Database 12c Enterprise Edition Release 12.1.0.0.2 - 64bit Production with the Partitioning, OLAP, Data Mining and Real Application Testing option', $m))
  echo $m[1]; // 12c