我有一个WSDL(部分显示如下),从中我试图检索使用正则表达式的所有字符串元素的名称。如何仅从正则表达式返回组内的匹配?
<xs:element minOccurs="0" name="appCurrDpId" type="xs:string" />
<xs:element minOccurs="0" name="appCustomerCapable" type="xs:string" />
<xs:element minOccurs="0" name="appDateReceivedSys" type="xs:date" />
<xs:element minOccurs="0" name="appDecision" type="xs:string" />
<xs:element minOccurs="0" name="appPriority" type="xs:int"/>
<xs:element minOccurs="0" name="appCountry" type="xs:string" />
所以我有其上仅字符串元素发生线相匹配的正则表达式:
name="(.*?)"\s?type="xs:string
但我只在由第一组括号包围的部分感兴趣(一组,对吧?),即在name属性中。
UPDATE:下面
的答案都暴露在我的理解的一个缺陷:我认为能够返回一个正则表达式(如由一组所确定的)的一部分是一个正则表达式的特征,这显然不是。它更多的是“副作用”,需要更复杂的处理。 就我而言,我希望能够在我的文本编辑器(Sublime Text)中做到这一点,因为突出显示和选择所有搜索结果的能力非常强大。 无论如何,谢谢你的答案。
您正在使用哪种语言? – Tim
正如建议:对于处理XML文件,您应该_always_使用XML-Parser。例如,什么关于' '? –
KingCrunch
@King:使用正则表达式没有问题,如果这是对格式已知的文件的一次性解析。 – Tim