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

Тема в разделе "Регулярные выражения", создана пользователем val06, 25 фев 2020.

  1. val06

    val06

    Регистр.:
    11 авг 2006
    Сообщения:
    183
    Симпатии:
    28
    Добрый день. Помогите плиз с регуляркой по таким условиям.

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

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

    lag

    Регистр.:
    13 окт 2014
    Сообщения:
    275
    Симпатии:
    343
    PHP:
    preg_replace('~(\d)\D*?([-*+/])(?=\D*\d)|\D~''$1$2'$str);
    Или
    PHP:
    preg_replace('~([-*+/])\D*|\D~''$1'preg_replace('~^\D+|\D+$~'''$str));
     
    Последнее редактирование: 25 фев 2020
    val06 нравится это.
  3. kolxo3Huk

    kolxo3Huk Создатель

    Регистр.:
    2 дек 2017
    Сообщения:
    25
    Симпатии:
    2
    А как в нотепад++ в поиск и замена текста, вместо текст "пример" поставить имя файла
    к примеру ищем в папке 10 файлов
    каждый файл содержит текст "пример"
    нужно найти "пример" и заменить на имя файла в котором найден текст
    так же можно и на php код, если так будет проще
    просто файлов +16к , и в каждый файл нужно вставить имя файла