我正在尝试形成一条正则表达式,该正则允许字母数字以及一些特殊字符( @-_。(。我试图将这些特殊角色看待白色,但也允许其他特殊字符。因此,我试图将所有其他特殊字符列入上述所有其他特殊字符。使用了此:
/^([^s!#$%&'()*+/:;<=>?[\]^`{|}~,][a-zA-Z@._0-9-]*[^s!#$%&'()*+/:;<=>?[\]^`{|}~,])$/
如何添加双引号,以便在字符串中不允许在任何地方的字符串中。尝试过"但行不通。
如果我阅读了您的正则言论,并理解您的愿望:
^( # Start of string and capture group
[^s!-,/:-?[\]^`{|}~,] # Any character, BUT "blacklisted"
[w@.-]* # Any number of word characters, @, . or -.
[^s!-,/:-?[\]^`{|}~,] # Any character, BUT "blacklisted"
)$
使用范围可以简化它。例如。在角色类中, !-,
与 !"#$%&'()*+,
相同,黑名单不需要的"
。
使用此
Dim clean as string = Regex.replace(tbname,"[^A-Za-z0-9-/]","")
这是阻止所有特殊字符的一个。
您可以使用白名单方法,但需要将-
放置: [@_.-]
;或逃脱它: [@-_.]
否则,@-_
的意思是" @
的ASCII和_
的ASCII之间的任何内容"。
Regex101.com是金黄色的,它解释了正则的每个部分。