reReplace
ファイル名から特殊文字を削除するために使用しています。次の正規表現は、私のコードで例外 (以下を参照) をスローします。ただし、ColdFusion Regex ユーティリティで正規表現文字列をテストすると、問題なく動作します。
これが私のコードです:
reReplace(tmpName,"[{}\(\)\^$&%#!@=<>:;,~`'\'\*\?\/\+\|\[\\\\]|\]|\-",'','all')
そしてエラー:
エラー メッセージ: 29 行目の 45 列目に無効なトークン @ が見つかりました。
CFML コンパイラは以下を処理していました。
An expression beginning with !, on line 29, column 44.This message is usually caused by a problem in the expressions structure.
@
シンボルをエスケープすると、次の\@
エラーが発生します。
エラーの種類: テンプレート: [該当なし] エラー メッセージ: 無効な CFML コンストラクトが 29 行目の 45 列目に見つかりました。ColdFusion は次のテキストを参照していました:
\\ CFML コンパイラが処理していました:
An expression beginning with !, on line 29, column 44.This message is usually caused by a problem in the expressions structure.
この正規表現文字列の元のソースは次のとおりです。Regex to Strip Special Characters
これらの文字を許可する必要があるため、 .
andを削除しました。_