Я пытаюсь создать регулярное выражение, соответствующее тегу XML, для анализа файла, но не может найти теги в нескольких строках и другие допустимые теги. Вот как это выглядит:
QString invalidChars = "!\"#$%&\'()*+,/;\\\\<=>?@\\[\\]\\^`\\{\\}\\|~, ";
QString name = "[A-Za-z][^" + invalidChars + "]*";
QString space = "[ \\n\\t\\r\\v]*";
QString attribute = name + space + "=" + space +"(\"|\')[^\'\"]*(\"|\')";
QString tag = name + space + "(" + attribute + space + ")*" + space;
QString expression = "<" + tag + ">"
+ "|</" + tag + ">"
+ "|<" + tag + "/>"
+ "|<!--[^(-->)]*-->" //"<!\\s*--(??!-->).)*-->"
+ "|<\\?" + tag + "\\?>";
Есть ли у вас какие-либо предложения о том, как мне это сделать?
Например, он не распознает это:
<xmlexample
attribute="example">