我有一個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