Здравствуйте, у меня возникла проблема с использованием регулярного выражения с Java.Проблема с регулярной регулярной частью XML с java
Я пытаюсь разобрать этот:
*whatever string*
<AttributeDesignator AttributeId="MyIDToParse"
DataType="http://www.w3.org/2001/XMLSchema#string"
Category="theCategoryIWantToParse"
MustBePresent="false"
/>
*whatever string that may contain the same regular expression*
с помощью этого кода (Pattern + Сличитель)
Pattern regex = Pattern.compile("AttributeDesignator +AttributeId=\"(.+)\" +.*Category=\"(.+)", Pattern.DOTALL);
Matcher matcher = regex.matcher(xml);
while (matcher.find()) {
String ID = matcher.group(1);
String Category = matcher.group(2);
Выход следующий:
группы 1:
MyIDToParse"
DataType="http://www.w3.org/2001/XMLSchema#string"
Category="theCategoryIWantToParse"
MustBePresent="false"
/>
*whatever string that may contain the same regular expression*
группа2:
theCategoryIWantToParse"
MustBePresent="false"
/>
*whatever string that may contain the same regular expression*
Я чувствую, что это простая вещь, но я не могу найти то, что я делаю неправильно .. Когда я использовал регулярные выражения в веб-сайт, чтобы проверить их он работает правильно и выделить нужное выражение из моего xml.
@MartinPieters счел нужным удалить мой ответ. Но игнорируйте ответ на свой риск: любая попытка использования регулярных выражений для синтаксического анализа XML будет работать с некоторыми входными файлами и сбой на других. Это не связано с вашими навыками написания регулярных выражений, это фундаментальная теория информатики. –