Как с помощью RegExp отфильтровать артикул товара (#КЛП1483П1)?

Рейтинг: -3Ответов: 1Опубликовано: 22.08.2023

Есть артикул товара (#КЛП1483П1). Нужно отфильтровать скобки в начале и в конце артикула, а также знак # . Выражение вида /\(\#^.*$\)/ не срабатывает (функция preg_match).
Не подскажете правильное выражение для данного примера?

Ответы

▲ 0Принят

Попробуйте так:

<?
$text = "(#КЛП1483П1)";
$regex = "/(?<=^\(#)[^)]+/";
preg_match($regex,$text,$out);

print_r($out);
?>
Array
(
    [0] => КЛП1483П1
)

Сначала позитивный просмотр назад без захвата символов (?<=^\(#) - откусываем (#, потом захват всех 1+ символов, кроме закрывающей скобки, т.е. откусываем ).