Я преобразовываю XML-данные в параметры элемента и имею грязный скрипт regex, который я использовал в Textmate. Я знаю, что точка (.) Не ищет новые строки, так вот как я ее разрешил.Что такое лучший способ написать это регулярное выражение?
Поиск
language="(.*)"
(.*)<education>(.*)(\n)?(.*)?(\n)?(.*)?(\n)?(.*)?</education>
(.*)<years>(.*)</years>
(.*)<grade>(.*)</grade>
Заменить
grade="$13" language="$1" years="$11">
<education>$3$4$5$6$7$8$9</education>
Я знаю, что есть лучший способ сделать это. Пожалуйста, помогите мне еще больше развивать навыки регулярного выражения.
DUP из http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained- теги. – bmargulies
Это помогло бы, если бы вы могли показать фрагмент XML, который у вас есть, и XML, который вы хотите. Мне трудно понять, что вы пытаетесь сделать. – John
Как написать «(. *) (\ N)? (. *)? (\ N)? (. *)? (\ N)? (. *)?" и «$ 3 $ 4 $ 5 $ 6 $ 7 $ 8 $ 9" таким образом, что мне не нужно дублировать себя для каждой новой строки и возвращенной стоимости? – rxgx