Я пытаюсь изменить файл XML, который содержит элементы, содержащие время открытия для филиалов бизнеса.Файл XML несовместим, потому что для некоторых веток у него есть только время открытия и время закрытия, у других - время открытия, время закрытия на обед, время открытия после обеда и время закрытия.
Примеры обоих типов ниже:
<monday>10.00,17.00</monday>
<monday>09.00,12.30,13.30,17.00</monday>
Я хочу переформатировать эти строки в лучший формат, например, приведенный ниже:
<monday>
<open>10.00</open>
<lunch></lunch>
<close>17.00</close>
</monday>
<monday>
<open>09.00</open>
<lunch>12.30 - 13.30</lunch>
<close>17.00</close>
</monday>
Я былпытаюсь использовать регулярные выражения BBEdit на моем Mac для внесения изменений, но у меня возникают трудности, в частности, я думаю, потому что я не уверен, как заставить регулярное выражение заменить подмножество текста, которому я говорю, чтобы оно соответствовало.Например, в псевдокоде я хочу, чтобы регулярное выражение делало это:
заменить <monday>time1,time2</monday>
на <monday><open>time1</open><lunch></lunch><close>time2</close></monday>
заменить <monday>time1,time2,time3,time4</monday>
на <monday><open>time1</open><lunch>time2 - time3</lunch><close>time4</close></monday>
Я не слишком знаком с регулярными выражениями, поэтому я делаю некоторые ошибки, я уверен, но до сих пор я пробовал следующее:
заменить >#+\.#+,#+\.#+<
на ><open>#+\.#+<open><lunch></lunch><close>#+.\#+<
Я понимаю, что это все равно не сработает, потому что я говорю регулярному выражению заменить числа, которым оно соответствует #+
, на строки '# +' и т. Д.
Как можноЯ добиваюсь того, что хочу сделать, с помощью регулярных выражений или другими способами, а также как сказать регулярному выражению использовать выражение для сравнения, но заменить только подмножество символов, которым оно соответствует?