XSLTで$ SourceFileに割り当てられている "718322_c341b0-TEST_NOC_20160423121052.XML"という名前のintput xmlファイルがあります。しかし、それは一致しませんでしたXSLTで正規表現 wを処理する方法は?
<xsl:if test="matches($SourceFile, '^\w+-TEST.*')">
:私は$ SOURCEFILEは、次のコードを使用して「-TEST」の文字列が含まれているかどうかをテストしようとしています。そこでコードを更新しました
<xsl:if test="matches($SourceFile, '^[A-Za-z0-9_]+-TEST.*')">
私はマッチしました。私はより多くのテストを行い、次のコードも一致しました。
<xsl:if test="matches($SourceFile, '^\w+_\w+-TEST.*')">
私は混乱していると思いますが、\ wは[A-ZA-Z0-9_]を意味すると思いますか?この場合、なぜ\ wは機能しませんでしたか?アンダースコアを含む問題があるようです。ありがとう!
テストシナリオを確認すると、表示されないコードのどこかに問題が発生します。 –
どのXSLTプロセッサを使用していますか? https://www.w3.org/TR/xmlschema-2/#charcter-classesを参照してください。クラス '\ w'は' [#x0000-#x10FFFF] - [\ p {P} \ p {Z '\ p {C}]'は、 '句読点'、 'セパレータ'、 'その他の文字'を除いたすべての文字として説明されています。 –