У меня есть строка ниже, и я пытаюсь сделать preg_replace
на все, что не соответствует номеру версии 12c
, используя регулярное выражение.PHP Invert/Negate Regex Pattern
Вы можете увидеть 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
Ну, это немного неясно. Просьба уточнить * заменить все, кроме 12c, так что только функция 12c из 11g и т. Д. Возвращается функцией preg_match *. –
Стоит отметить, что ваше текущее регулярное выражение также будет соответствовать '64b' с 64-битной, если будет дан шанс. – apokryfos
@apokryfos достаточно, чтобы изменить шаблон - '([0-9] {2} [a-z] {1} (? = \ W | $)))' – splash58