簡體   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