我是正则表达式新手,希望允许包含以下字符的消息得到批准。包含任意数量的数字和特殊字符的消息,如 <
>
.
*
;
"
,
#
%
&
)
(
=
+
-
!
space
new_line
其余字符如@
~
{
[
alphabetical letters
等等..不应获得批准。
java.util.regex.Pattern my_pattern = null;
my_pattern = Pattern.compile("^.*(0-9|<|>|.|*|;|\"|,|#|%|&|\\(|\\)|=|\+|-|!|\s|\n).*");
最佳答案
您可以使用字符类
:
Pattern.compile("^[0-9<>.*;\",#%&()=+!\\s-]+$");
不需要在字符类中转义这些特殊字符,并且比使用多个管道的交替更有效。另请注意,我删除了 \n
因为 \s
已经匹配换行符。
关于java - java中获取所有数字和少数特殊字符的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22213316/