2015-08-18 1 views
1

Это мой фрагмент XML (фактический полный файл 6964 строк):Попытка получить V простой Regex для работы на файл XML

<?xml version="1.0" encoding="UTF-8"?> 
<listings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchema Location="http://www.gstatic.com/localfeed/local_feed.xsd"> 
<language>en</language> 
<id>43927</id> 
<cell1>Andover House</cell1> 
<cell2>28-30 Camperdown</cell2> 
<cell3>Great Yarmouth</cell3> 
<cell4>NR30 3JB</cell4> 
<cell5>GB</cell5> 
<cell6>52.6003767</cell6> 
<cell7>1.7339649</cell7> 
<cell8>+44 1493843490</cell8> 
<category>British</cell9> 
<cell10>http://contentadmin.livebookings.com/dynamaster/image_archive/original/f24c60a52e7ac0874be57e51bce30726.jpg</cell10> 
<cell11>http://www.bookatable.co.uk/andover-house-great-yarmouth-norfolk</cell11> 

Для каждой категории тега в приведенном выше фрагменте кода, я бы просто хотел бы добавить этот текст: Restaurant - (с одним пробелом после дефиса)

Таким образом, окончательный результат будет:

<category>Restaurants - British</category>

Я очень новый т o Regex и найти это очень сложно, так что это то, что я пробовал до сих пор: https://regex101.com/r/yY5jB6/2

Похоже, что он работает в Regex 101, но когда я привожу его в текстовый редактор, такой как Sublime 2 (на Mac) и Notepad ++ (в Windows) с помощью find/replace (указав регулярное выражение в настройках), он говорит, что ничего не может найти. Пожалуйста помоги! Благодаря!

+0

Notepad ++ использует '\ 1', а не' $ 1' для подходящей группы. См. Комментарии по http://stackoverflow.com/questions/17392392/replace-regexp-capture-group-in-notepad – Rossiar

+0

благодаря @Rossiar только что попробовал, и это не сработало. Тот же ответ: «Заменить: не было найдено» – daneasterman

+0

- ваш исходный ввод действительно ' Британский' с cell9 ?? – h3n

ответ

1

NotePad ++ использует \1 вместо $1, если вы меняете замену от $1Restaurants - к \1Restaurants - то он должен работать. (источник: this question)

0

, если вы ищете

<category>([^<]*)<\/.*> 

и заменить его

<category>Restaurants - $1</category> 

он будет работать даже с странным входом, который содержит </item9> тег.

 Смежные вопросы

  • Нет связанных вопросов^_^