簡體   English   中英

如何編寫僅允許字母,數字和特殊字符(僅中間出現)的正則表達式

[英]How to Write a Regular Expression that allows only letters, numbers and special characters only i the middle never in the end

需要一些正則表達式幫助。

到目前為止,我的代碼正在允許有限數量的特殊字符。 但是,我不知道如何讓它只在中間,而不是在最后。

有人可以幫我弄清楚那部分嗎?

這是我在C#中使用的代碼:

            Regex uRLToVal= new Regex("^[A-Za-z0-9-_.+!*]*$");

            if (!uRLToVal.IsMatch(this.mainURL))
            {
                results.AddPropertyError("Your Entry can only contain letters, numbers, underscores, periods, plus, exclamation marks and hypens. Special characters should always be inside numbers or letters.  Example: v!v is OK BUT NOT !vv or vv!");
            }
new Regex(@"^[A-Za-z0-9]+([-_.+!*]+[A-Za-z0-9]+)*$");

意思是 :

匹配必須以至少一個數字或字母字符開頭: [AZ-z0-9]+

該序列后可以跟零或許多特殊字符-_.+!*然后至少跟一個數字或字母字符。 第二個組合可能發生零次或多次(例如: asdf-e*r!asdfa有效)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM