java - 排除特殊字符的正则表达式

标签 java regex

我在想出一个基本上会将某些特殊字符列入黑名单的正则表达式时遇到了麻烦。

我需要使用它来验证输入字段中的数据(在 Java Web 应用程序中)。我们希望允许用户输入任何数字、字母(我们需要包括重音字符,例如法语或德语)和一些特殊字符,例如'-。等等。

如何将<>%$等字符列入黑名单?

最佳答案

我只是将字符列入白名单。

^[a-zA-Z0-9äöüÄÖÜ]*$

使用正则表达式建立黑名单同样简单,但您可能需要添加更多字符 - unicode 中有很多中文符号... ;)

^[^<>%$]*$

表达式 [^(many characters here)] 只匹配未列出的任何字符。

关于java - 排除特殊字符的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/756567/

相关文章:

python - 拆分返回不匹配

正则表达式:如何匹配包含重复模式的字符串?

regex - 转义正则表达式中的括号

java - 同步块(synchronized block)后面

java - 在 Android 中像 Instagram 一样缩放 ImageView

java - 按数字正则表达式分割字符串

java 正则表达式 帮助

regex - awk - 正则表达式中的变量扩展

java - Android:空指针异常

java - 如何在 android 中声明位图/可绘制对象