2

これは一般的な質問です。それらの動作が異なる理由とその理由を知りたいですか、それとも私たちが何か間違ったことをした場合にのみ異なる動作をするのでしょうか?

これは私が現在苦労していることです。私はこの正規表現を持っています:

CLASS_NAME_VALIDATION_REGEX = "([a-zA-Z_$][a-zA-Z\\d_$]*\\.)*[a-zA-Z_$][a-zA-Z\\d_$]*";

そして、私はそれを次のように使用します:

Pattern.matches(CLASS_NAME_VALIDATION_REGEX, qualifiedClassName)

したがって、Unix/Linux ではmatches()true を返しjava.io.Serializable、Windows では false を返します。

何かを不適切にエスケープしたか、それとも私が気付いていない何かがありますか?

ありがとう、


したがって、問題はおそらく正規表現ではなく、私が正しければトピックから大きく外れているため、この質問を閉じることを考えています。

現在、クラス名を含むファイルを読み取り、各名前を正規表現と照合しています。それぞれの名前は別の行にあります。

Windows と Linux でキャリッジ リターンの文字が異なる可能性はありますか?

4

2 に答える 2