2016-07-29 4 views
0

Привет я пытаюсь написать регулярное выражение для сопоставления и замены ниже строки с помощью Notepad ++Regex заменить строку в Notepad ++

<mycomponent id="Myvalue1.013D0E13-BF5F-4D0F-AAFA-FA4B120DE3E9" test="my" value="1234"/> 
<mycomponent id="Myvalue3.013D0E13-BF5F-4D0F-AAFA-FA4B120DE3E9" kv="ggg" propert="null"/> 
<mycomponent id="Myvalue5.013D0E13-BF5F-4D0F-AAFA-FA4B120DE3E9" fff="ddd" key="kk"/> 
<mycomponent id="Myvalue7.013D0E13-BF5F-4D0F-AAFA-FA4B120DE3E9" dfd="drgf"/> 

Я хочу заменить 013D0E13-BF5F-4D0F-AAFA-FA4B120DE3E9 из этих строки и результат должен быть, как указано ниже

<mycomponent id="Myvalue1" test="my" value="1234"/> 
<mycomponent id="Myvalue3" kv="ggg" propert="null"/> 
    <mycomponent id="Myvalue5" fff="ddd" key="kk"/> 
<mycomponent id="Myvalue7" dfd="drgf"/> 

Я использовал ниже RE для согласования и замены

(<mycomponent id=".*?\.013D0E13-BF5F-4D0F-AAFA-FA4B120DE3E9)\S+ 

, как найти sting и $ 1 в качестве замены строки. Eventhought находка, работает замещать не работает

+0

Hello Nicael. То, что я пробовал, задано в вопросе. Не могли бы вы рассказать мне, что не так – TVSuser1654136

+0

Является ли это документом XML с правильной структурой XML? –

+0

Это действительно в основном то же, что я упомянул в [моем предыдущем ответе] (http://stackoverflow.com/a/38645907). Просто удалите первый '. *? \.', И вы ответили на этот вопрос. – nicael

ответ

2

Найти Что: (<mycomponent.*?)[.]013D0E13-BF5F-4D0F-AAFA-FA4B120DE3E9

Заменить: $1

режим поиска: Regular Expression

Он также будет работать для this question

И если вы хотите сделать его более общим для других уникальных идентификаторов:

Найти что: (<mycomponent.*?id="[^"]*?)[.][A-Fa-f0-9\-]{36}
Заменить на: $1