Top.Mail.Ru
Ответы

Нужно удалить часть текста в notepad++ с помощью регулярного выражения

есть подобные строки:

123456789101112131415161718192021222324252627
     <role systemName="AndreyPetrov" rusName="Андрей Петров">  
 
      <restrictionCondtions>  
 
        <conditions conditionType="NOT">  
 
          <restrictions left="1234"/>  
 
        </conditions>  
 
      </restrictionCondtions>  
 
    </role>  
 
    <role systemName="IvanIvanov" rusName="Иван Иванов">  
 
      <restrictionCondtions>  
 
        <conditions conditionType="NOT">  
 
          <restrictions left="1234"/>  
 
        </conditions>  
 
      </restrictionCondtions>  
 
    </role> 


таких блоков очень много
как можно оставить только то, что находится в параметре rusName
то есть в результате было:
Андрей Петров
Иван Иванов

По дате
По рейтингу
Аватар пользователя
Новичок
9мес
1
 <role\b[^>]+rusName="([^"]+)".*?</role>\s* 

меняем на:

1
 \1\n 

Режим регулярных выражений, галочка ". - новая строка" установлена.


Другой вариант. Сначала удаляем всё лишнее (галочка "новая строка" снята), меняя:

1
 ^(?!.*<role)[^\n]*\s* 

на пустую строку.
А потом из оставшегося вытаскиваем имена.