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ファイルを扱うためには、常にXML-Parserを使用するべきです。たとえば、 ' 'はどうでしょうか? –
KingCrunch
@King:形式がわかっているファイルの一回限りの解析であれば、regexの使用には問題ありません。 – Tim