Помогите с регуляркой

val06

Гуру форума
Регистрация
11 Авг 2006
Сообщения
254
Реакции
85
Добрый день. Помогите плиз с регуляркой по таким условиям.

разрешены цифры и символы + - * /
все остальное должно затираться
если даже разрешенные символы стоят впереди или в конце, то они тоже должны затираться, если между цифрами несколько разрешенных символов то должны затираться все кроме первого.
пример

+-0/-1+**2***3--++4**+
должно остаться
0/1+2*3-4
не обязательно что бы была одна регулярка, можно в несколько этапов.
спасибо
 

lag

Мой дом здесь!
Регистрация
13 Окт 2014
Сообщения
290
Реакции
366
PHP:
preg_replace('~(\d)\D*?([-*+/])(?=\D*\d)|\D~', '$1$2', $str);
Или
PHP:
preg_replace('~([-*+/])\D*|\D~', '$1', preg_replace('~^\D+|\D+$~', '', $str));
 
Последнее редактирование:

kolxo3Huk

Создатель
Регистрация
2 Дек 2017
Сообщения
25
Реакции
2
PHP:
preg_replace('~(\d)\D*?([-*+/])(?=\D*\d)|\D~', '$1$2', $str);
Или
PHP:
preg_replace('~([-*+/])\D*|\D~', '$1', preg_replace('~^\D+|\D+$~', '', $str));
А как в нотепад++ в поиск и замена текста, вместо текст "пример" поставить имя файла
к примеру ищем в папке 10 файлов
каждый файл содержит текст "пример"
нужно найти "пример" и заменить на имя файла в котором найден текст
так же можно и на php код, если так будет проще
просто файлов +16к , и в каждый файл нужно вставить имя файла
 
Сверху