我正在尝试解析xml实体文件以使用正则表达式获取所有实体。
这就是我所做的http://regex101.com/r/kU4lN8/1 编辑链接:http://regex101.com/r/tF4kY9/1
这将实体包含在以“>”结尾的任何其他属性中。
获取实体的任何帮助?
这是我想要的比赛结果
<!ENTITY % common SYSTEM "../common.ent">
<!ENTITY commonFaults
'
<response xmlns="http://wadl.dev.java.net/2009/02">
<representation mediaType="application/xml" element="csapi:computeFault"/>
<representation mediaType="application/json"/>
</response>
<response status="503" xmlns="http://wadl.dev.java.net/2009/02">
<representation mediaType="application/xml" element="csapi:serviceUnavailable"/>
<representation mediaType="application/json"/>
</response>
<response status="400" xmlns="http://wadl.dev.java.net/2009/02">
<representation mediaType="application/xml" element="csapi:badRequest"/>
<representation mediaType="application/json"/>
</response>
<response status="401" xmlns="http://wadl.dev.java.net/2009/02">
<representation mediaType="application/xml" element="csapi:unauthorized"/>
<representation mediaType="application/json"/>
</response>
<response status="403" xmlns="http://wadl.dev.java.net/2009/02">
<representation mediaType="application/xml" element="csapi:forbidden"/>
<representation mediaType="application/json"/>
</response>
<response status="405" xmlns="http://wadl.dev.java.net/2009/02">
<representation mediaType="application/xml" element="csapi:badMethod"/>
<representation mediaType="application/json"/>
</response>
<response status="413" xmlns="http://wadl.dev.java.net/2009/02">
<representation mediaType="application/xml" element="csapi:overLimit"/>
<representation mediaType="application/json"/>
</response>
'>
..... .. ..
<!ENTITY DELETE '<command xmlns="http://docbook.org/ns/docbook">DELETE</command>'>
答案 0 :(得分:0)
我认为你在寻找的是:
<!ENTITY\s+(\S+)\s+'([^']*)'\s*>
它使用字符类来划分您感兴趣的部分:
\S+
表示实体名称(所有不是空格) [^']+
内容(所有不是简单的引用) 对于此模式,不需要修饰符s (javascript中不存在)。
实体名称和内容存储在捕获组中。