正则不允许双引号不起作用



我正在尝试形成一条正则表达式,该正则允许字母数字以及一些特殊字符( @-_。(。我试图将这些特殊角色看待白色,但也允许其他特殊字符。因此,我试图将所有其他特殊字符列入上述所有其他特殊字符。使用了此:

/^([^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是金黄色的,它解释了正则的每个部分。

最新更新