私たちには何かを含むことができるデータベース列があります。 Unicode、数字、単語などJavaの単語、数字、およびいくつかの記号を除いてすべてを除外するにはどうすればよいですか?
しかし、私たちはそのデータを外部のサービスに送る必要があり、受け入れるものについては非常に厳格です。基本的に英語のみ、単語、数字など
このサービスの要件を変更することはできませんので、送信する前にユーザーが送信するものをフィルタリングする必要があります。
私のRegExスキルは弱いです。ここでは、必要なものです:
文字[a-zA-Z]の 番号[0-9] 次の記号:@#$%^ & *()-_ = +;:!」、/。 ?\
それだけです。もちろん、どのような組み合わせでもかまいません。私たちはそこに列挙されていないものが何もないことを確認したいだけです。
Javaでこのフィルタを構築する方法についての助けがあれば、大歓迎です。
ところで、私は同じRegExパターンがJavaScriptで動作すると仮定していますか?
EDIT
これは私が(Edmastermind29を使用して)している例です。
public static void main(String[] args) {
String pattern = "^[[email protected]#$%^&*()-_=+;:',./?\\]";
String text = "Hello, I need everything in this string except the { or }";
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(text);
// here, I need everything but the {}.
// so I should have: Hello, I need everything in this string except the or
}
OK、私はその文字列をエスケープする方法を考え出しました。しかし、どのようにフィルタリングされていないものはすべて手に入れますか?
'[-ZA-Z0-9 @の#$%^&*()\ -_ = +;:!」、/ \。? \] * '? –
なぜ "java"タグを追加しましたか? javascript <> java – pushistic
これはJavaで解決する必要がある問題です。しかし、私は後でJavascriptでそれをやっていきます。私は同じ正規表現のパターンを両方で使用できるかどうか疑問に思っていましたが、Javaソリューションがより重要です。 – cbmeeks