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