2011-06-29 9 views
0

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)でこれを実行できることを期待していました。とにかく、答えに感謝します。

+2

あなたはどの言語を使用していますか? – Tim

+1

ちょうど提案として:XMLファイルを扱うためには、常にXML-Parserを使用するべきです。たとえば、 ''はどうでしょうか? – KingCrunch

+1

@King:形式がわかっているファイルの一回限りの解析であれば、regexの使用には問題ありません。 – Tim

答えて

1

あなたはここで、perlでそれを行うための方法を使用しているどの言語言わないとして:

#!/usr/bin/perl 
use strict; 
use warnings; 

while(<DATA>) { 
    print $1,"\n" if /name="(.*?)"\s*type="xs:string/; 
} 

__DATA__ 
<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" /> 

出力:

appCurrDpId 
appCustomerCapable 
appDecision 
appCountry 
+0

両方の回答ありがとう。残念ながら私は1つしか選ぶことができませんでした。私の質問に私のコメントで説明したように、私はマッチの一部を取得することは正規表現自体で指定することができますが、明らかにそうではないと思った。 – mydoghasworms

1

あなたが欲しいものを中心にブラケットをつけた場合、あなたは$1として置き換えるには、それを参照することができ、第一、第二括弧グループなどのため$2などはここでは、Javaでそれを行うだろう方法は次のとおりです。

String name = line.replaceAll("^.*name=\"(.*?)\"\\s?type=\"xs:string\".*$", "$1"); 
+0

答えをありがとう。あなたとM42の間で選択するのは難しかったです。 – mydoghasworms

関連する問題