2017-03-14 4 views
2

XMLファイルに格納されている正規表現のセットがあります。ただし、&&を含む式の場合、.XMLファイルの検証に失敗します。REGEX:XMLに式を格納する

<expression>[a-zA-Z&&[^BALANCE\\s\\d+$]]</expression> 

上記の式は&&リテラルずにもたらすであろうことを、同じ出力を得るための代替方法はありますか?

答えて

3

使用CDATAブロック:それらインサイド

<expression><![CDATA[YOUR_PATTERN]]></expression> 
      ^^^^^^^^^   ^^^ 

、あなたは文字列リテラル、何かをエスケープするかentitizeする必要はありませんように、パターンを保存することができます。それはBALNCE\sd+$を除き、任意のASCII文字a-zA-Zに一致する:[a-zA-Z&&[^BALANCE\\s\\d+$]]はあなたが思うかもしれない何をしていないことを

注意。パターンの仕様に従って編集する必要があります。

EDIT:最大一方と]]>ための別の一つを含む、CDATAブロックに]]>を書き込む<![CDATA[]]]]><![CDATA[>]]>を使用する、すなわち2つのCDATAブロックを追加します。これらのCDATAブロックを実際に作成するには、XMLパーサーを使用することをお勧めします。

+0

予約:CDATAブロックの内容にシーケンス ']]> 'を含めることはできません。正規表現のようなものを保持しているときに表示される可能性は低いです。 –

関連する問題