2017-12-07 10 views
0

私はいくつかの研究をしましたが、私の問題に対する応答は見つかりませんでした。 私は(XSLT機能を使用して)正規表現による文字列を解析する必要がXSLT 2.0 を通じてXMLにファイルのテキストを変換するXSLTをやってる これは、テキストファイルの内容です:正規表現にパターンをx回繰り返す方法

0098120853 ED 2000-01-01 1 D 0 I 
0098120854 ED 2000-01-01 1 E 0 I 
0098120855 ED 2000-01-01 1 F 0 I 

これらの列は、私は、パターンを繰り返します正規表現を必要とし、「集計」キー(タブ) で区切られ(。トン\(。))

これは実際に私の正規表現であり、それが正常に動作します(7列)が

regex="(.*)\t(.*)\t(.*)\t(.*)\t(.*)\t(.*)\t(.*) 

正規表現でこのパターンを20回書かずに20列のパターンを繰り返すにはどうすればよいですか?

ありがとうございました。正確n繰り返しチェックするために

+1

パターンを繰り返す必要がありますか? XSLT 2.0について言及し、文字列を分析すると、たとえば、 'これは、 。 –

答えて

1

*または+ 例えばのためにあなたがと同じように{n}を使用します(19個のタブ付き)20列

regex="(.*\t){19}.*" 

のためにあなたは、おそらくあまりにも、例えば自分の列データ内の非空白文字をチェックします

regex="(\S+\t){19}\S+" 

21個以上の列を含む行が除外されるようにするには、行アンカーの開始と終了を使用します。

regex="^(\S+\t){19}\S+$" 
+0

実際には動作しませんでした。私のXMLファイルは空です。 – amin89

関連する問題