我正在尝试创建一个与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">