<?php
//¿Cómo omitir en expresiones regulares un caracter que está en medio de otros dos?
// https://es.stackoverflow.com/q/68111/127
$regex = '/(exp)|x/';
$x = 3;
$cadena = 'exp(x,2) - ext(axp * exp)';
$reemplazo = function ($matches) use ($x) {
if (isset($matches[1])) //capturó en grupo 1, entonces, devolver el mismo valor (no reemplazar) return $matches[1];
return $x; //reemplazar por el valor que se quiera
};
echo 'Resultado: ' . $resultado;
PD9waHAKCi8vwr9Dw7NtbyBvbWl0aXIgZW4gZXhwcmVzaW9uZXMgcmVndWxhcmVzIHVuIGNhcmFjdGVyIHF1ZSBlc3TDoSBlbiBtZWRpbyBkZSBvdHJvcyBkb3M/Ci8vIGh0dHBzOi8vZXMuc3RhY2tvdmVyZmxvdy5jb20vcS82ODExMS8xMjcKCiRyZWdleCA9ICcvKGV4cCl8eC8nOwoKJHggPSAzOwokY2FkZW5hID0gJ2V4cCh4LDIpIC0gZXh0KGF4cCAqIGV4cCknOwoKJHJlZW1wbGF6byA9IGZ1bmN0aW9uICgkbWF0Y2hlcykgdXNlICgkeCkgewoJaWYgKGlzc2V0KCRtYXRjaGVzWzFdKSkgLy9jYXB0dXLDsyBlbiBncnVwbyAxLCBlbnRvbmNlcywgZGV2b2x2ZXIgZWwgbWlzbW8gdmFsb3IgKG5vIHJlZW1wbGF6YXIpCgkJcmV0dXJuICRtYXRjaGVzWzFdOwoJcmV0dXJuICR4OyAgICAgICAgICAgICAgLy9yZWVtcGxhemFyIHBvciBlbCB2YWxvciBxdWUgc2UgcXVpZXJhCn07CgokcmVzdWx0YWRvID0gcHJlZ19yZXBsYWNlX2NhbGxiYWNrKCRyZWdleCwgJHJlZW1wbGF6bywgJGNhZGVuYSk7CgplY2hvICdSZXN1bHRhZG86ICcgLiAkcmVzdWx0YWRvOw==