当前位置: 首页 > 面试题库 >

正则表达式包含和排除特殊字符

司寇善
2023-03-14
问题内容

我正在寻找符合以下规则的正则表达式。

允许的字符

字母:az / AZ
数字:0-9
特殊字符:〜@#$ ^&*()-_ + = [] {} | \,。?:(
应允许使用空格)

不允许

特殊字符:<>’“ /;`%


问题答案:

对于允许的字符,您可以使用

^[a-zA-Z0-9~@#$^*()_+=[\]{}|\\,.?: -]*$

验证应仅由允许的字符组成的完整字符串。请注意,-在结尾处(否则将是一个范围),并且转义了几个字符。

对于无效字符,您可以使用

[<>'"/;`%]

检查他们。

要将两者结合成一个正则表达式,您可以使用

^(?=[a-zA-Z0-9~@#$^*()_+=[\]{}|\\,.?: -]*$)(?!.*[<>'"/;`%])

但您需要一个允许超前的正则表达式引擎。



 类似资料:
  • 问题内容: 我很难提出一个正则表达式,该正则表达式实际上会将某些特殊字符列入黑名单。 我需要使用它来验证输入字段中的数据(在Java Web应用程序中)。我们希望允许用户输入任何数字,字母(我们需要包括带重音的字符,例如法语或德语)和一些特殊字符,例如’-。等等 如何将诸如<>%$等的字符列入黑名单? 问题答案: 我只是将角色列入白名单。 使用正则表达式构建黑名单同样简单,但是你可能需要添加更多字

  • 我需要允许字段使用字母数字和某些其他字符。我正在使用这个正则表达式: 允许的特殊字符是 “_”。我做错了什么?

  • 问题内容: 我想编写一个简单的正则表达式来检查给定字符串中是否存在任何特殊字符。我的正则表达式可以工作,但是我不知道为什么它还包括所有数字,所以当我输入一些数字时会返回错误。 我的代码: 问题答案: 请不要那样做…… 像这样的小Unicode BABY ANGEL 快要死了!◕◡◕(←这些不是图像)(箭头也不是!) 而且您正在杀死20年的DOS:-)(最后一个笑脸称为WHITE SMILING F

  • 我试图为密码字段创建一个验证,它只允许字符和 时有什么区别,以及哪些字符来自

  • 如果我有一个= 我使用indexof方法删除所有字符,那么字符串的最终输出应该是 我已经编写了但这只会从_的第一个索引中删除字符,它将得到curr_29jan2021_061420210106999.txt,有没有任何方法可以从最后两个而不是第一个中删除字符

  • 问题内容: 我正在尝试使用该SQL从XML Server Expression的SQL Server 2008表中获取名字和姓氏。数据包含特殊字符。当我尝试sql时,出现以下错误: FOR XML无法序列化节点“ LastName”的数据,因为它包含XML不允许的字符(0x001B)。要使用FOR XML检索此数据,请将其转换为二进制,varbinary或图像数据类型,并使用BINARY BASE