哪个正则表达式检索带有分组表达式的标记的子标记(ASObject)内容之一,而不管该子标记在下面的xml中的位置。它可能是第一个,也可能是第二个。但是我想要检索ASObject,它有"postinjr“工资源代码,而不考虑它的位置。你可以在这里给我提供解决方案...http://gskinner.com/RegExr/?2usad
<insuredwages>
<ASObject mappedClass="com.taliantsoftware.claims.wages.InsuredWagesDTO" encoding="0">
<wagescategorytypecode tagClass="String">postinjr</wagescategorytypecode>
<agreementid tagClass="double">2654630.0</agreementid>
<jobtitle tagClass="String">Worker</jobtitle>
<createddatetime tagClass="Date">2012-10-01 13:28:05.213 CDT</createddatetime>
<new tagClass="boolean">false</new>
<employmentstatustypename tagClass="String">Disabled</employmentstatustypename>
<updated tagClass="boolean">false</updated>
<voided tagClass="boolean">false</voided>
<wagescategorytypename tagClass="String">Post Injury</wagescategorytypename>
<employmentstatustypecode tagClass="String">dsabld</employmentstatustypecode>
<useridcreated tagClass="double">111.0</useridcreated>
<userupdated tagClass="String"/>
<recordid tagClass="double">1030237.0</recordid>
<usercreated tagClass="String">TESTER QA</usercreated>
</ASObject>
<ASObject mappedClass="com.taliantsoftware.claims.wages.InsuredWagesDTO" encoding="0">
<agreementid tagClass="double">2654630.0</agreementid>
<wagescategorytypecode tagClass="String">preinjr</wagescategorytypecode>
<createddatetime tagClass="Date">2012-10-01 13:28:00.291 CDT</createddatetime>
<new tagClass="boolean">false</new>
<updateddatetime tagClass="Date">2012-10-01 13:28:00.291 CDT</updateddatetime>
<updated tagClass="boolean">false</updated>
<voided tagClass="boolean">false</voided>
<wagescategorytypename tagClass="String">Pre-Injury</wagescategorytypename>
<useridcreated tagClass="double">111.0</useridcreated>
<userupdated tagClass="String">TESTER QA</userupdated>
<useridupdated tagClass="double">111.0</useridupdated>
<recordid tagClass="double">1036667.0</recordid>
<usercreated tagClass="String">TESTER QA</usercreated>
</ASObject>
</insuredwages>发布于 2013-04-03 16:14:54
你不需要。正则表达式完全不适合这个任务。使用XPath,它是为该作业设计的。
有关原因的解释,请参阅RegEx match open tags except XHTML self-contained tags -a StackOverflow经典。
发布于 2013-04-03 08:03:26
这将获取整个条目;
/<ASObject.*?>postinjr</wagescategorytypecode>.*?</ASObject>/gs。。但是强烈建议使用XML解析器来正确处理数据。
这里有一个RegExr的链接:http://regexr.com?34cfg
这将只获取它的内部(没有<ASObject> ... </ASObject>);
/<ASObject.*?>(.*?>postinjr</wagescategorytypecode>.*?)</ASObject>/gs。。和获取组1 ($1);http://regexr.com?34cfj
您应该在获取的内容上执行另一个RegEx,以分隔您已获取的子项。创建情景RegEx以准确地获取基于该内部值的数据,并按组分隔项目,这将是非常混乱的。
这是获取内部项的一个非常原始的开始,但它只会下一层,并且不会处理转义的斜杠和(</>,/);
/<.*?>(.*?)</.*?>/gshttp://regexr.com?34cfm
如果你真的想在一个RegEx中做所有的事情,你应该查看断言;
?= Once Lookahead assertion?! Negative lookahead?<= Lookahead assertion?!= Negative Lookahead(或?<!)?> Once-only Subexpression?() Conditon [if then]?()|Condition [if then else]?# Comment我将把这一切是如何工作的,留给你去研究;)
https://stackoverflow.com/questions/15776576
复制相似问题