英数字のみを許可する文字列を検証し、 Javaでは1ドット文字とアンダースコア文字のみを検証したいと考えています。Java正規表現の検証
String fileName = (String) request.getParameter("read");
は私がリクエストから取り出すファイル名を検証する必要があると 私は"^[a-zA-Z0-9_'.']*$"
にしようとした
上記の基準を満たす必要がありますが、これは
は私を検証する必要があり、複数のドット文字を許可します指定されたシナリオの文字列、
1。 Filenameにはアルファベットの数値のみが含まれます。 2。 1つのドット文字(。)しか使用できません。例:fileRead.pdf、 fileWrite.txtなど 3。それはアンダースコア文字のみを許可します。他のすべてのシンボルは である必要があります。
誰でも助けてもらえますか?
あなたは、入力、出力の例をしてください共有することができますか? –
https://regex101.com/このオンラインサービスでは、正規表現を試してみて、正規表現で本当にうまくやっていることを説明しています。それは自己学習のために非常に良いです:) –
ファイル名にファイル拡張子が含まれているかどうかを指摘する必要があります。あなたのパターンは最後のドットと最初のドットを許可します。 – mattn