繁体   English   中英

RegEx不允许双引号不起作用

[英]RegEx for not allowing double quotes not working

我试图形成一个RegEx,它将允许字母数字以及一些特殊字符(@ -_。)。 我尝试将这些特殊字符列入白名单,但也可以使用其他特殊字符。 因此,我尝试将除上述以外的所有其他特殊字符列入黑名单。 使用这个:

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

如何添加双引号,以便字符串中的任何地方都不允许使用双引号。 尝试过\\“但不起作用。

用这个

Dim clean  as string = Regex.replace(tbname,"[^A-Za-z0-9\-/]","")

它阻止所有特殊字符。

如果我正确阅读了regex,并了解您的意愿:

^(                             # Start of string and capture group
[^\s!-,\/:-?\[\\\]^`{|}~,]     # Any character, BUT "blacklisted"
[\w@.-]*                       # Any number of word characters, @, . or -.
[^\s!-,\/:-?\[\\\]^`{|}~,]     # Any character, BUT "blacklisted"
)$

通过使用范围进行了简化。 例如,在字符类!-,它与!"#$%&'()*+, ,后者也将不需要的" 列入黑名单

您可以使用白名单的方式,但需要把-最后: [@_.-] ; 或转义: [@\\-_.]

否则, @-_表示“ @ ascii与_ ascii之间的任何值”。

Regex101.com是此类产品的黄金,它解释了regex的每个部分。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM