[英]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.