正则表达式检查字符串是否包含数字,字母,空格,新行和仅允许的字符

时间:2015-01-28 18:55:28

标签: regex

我正在尝试创建仅在字符串仅包含:

时才匹配的正则表达式
  • a-z和A-Z(字母)
  • 0-9(数字)
  • 空格和新行
  • 字符:!@#%^ *()_- = + [] {};:,。?/

因此,如果我的字符串包含不在此列表中的字符,则正则表达式不应匹配。

示例:

  

AS55DSFs2afds23423ASAS as2 / sd / %%% - 匹配

     

$$ $ Sfs dG @?423 - 不匹配(不允许美元符号)

匹配字母和数字很简单:

^([A-Za-z0-9]*)$

但我有空格,新行和特殊字符的问题。

ANSWER

 ^([A-Za-z0-9\s!@#%^*()_\-=+\[\]{};:,.?\/]*)$

2 个答案:

答案 0 :(得分:2)

空格字符包含\s

^([A-Za-z0-9\s]*)$

对于特殊字符,您可以单独将它们添加到上面的字符类中,但是您需要转义字符-[]

^([A-Za-z0-9\s!@#%^*()_\-=+\[\]{};:,.?/]*)$

答案 1 :(得分:1)

^[!@#%^*()_=+\[\]{};:,\.\?\/\sA-Za-z0-9-]+$

这应该为你做。