0

ファイルへのパスを検証する正規表現を作成する必要があります。次のような文字列を承認する必要があります。

c:\
c:\dir1\file.txt
c:\dir1\dir2\file.txt

等々。私はそれを作成しようとしました。結果:

(c|C):(\\\w{0,8})*(\.\w{1,3})?

gskinnerではすべて問題ありませんが、このパターンを Java でコンパイルすると、前の行はどれもテストされません。

Java コード:

p = Pattern.compile("(c|C):(\\\w{0,8})*");
m = p.matcher(arguments);
result = m.matches();
4

1 に答える 1

0

サンプルコードを編集して動作させました:

String regex = "[cC]:(?:\\\\\\w{0,8})*(?:[.]\\w{1,3})?"

は正規表現の特殊文字であるため、正規表現は\\単一のバックスラッシュに一致するため、エスケープ\する必要がありますが、これを引用符で囲むと、別名を に変換しString、各バックスラッシュをエスケープして を生成する必要があります"\\\\"。にはさらに 2 つ必要\\ですw

于 2013-11-05T09:08:24.497 に答える