2017-05-25 78 views
-5

我想構建一個正則表達式,它只允許在其他位置使用特殊字符。例如,A:)B是不允許的,但允許使用A:B正則表達式允許特殊字符只在替代位置

A:B:C是允許的,但A,[email protected]*(C((D不是。

唯一的要求是允許特殊字符在替代位置,即使是特殊字符後面跟着數字/字符也是允許的。

不管兩個特殊字符是相同還是不同,甚至連續兩個字母數字都應該被允許。

+0

你可以在這裏嘗試一下http://regexr.com/進行測試 – Mike

+0

這個問題需要工作來負責。您需要定義特殊字符和「普通」字符(僅限大寫ASCII字母?)。會':A)B $'被允許嗎?等等,匹配規則還不清楚。 –

+0

今天,除了兩個不同的或相同的特殊字符外,其他所有東西都被允許使用 – user3709712

回答

0

這似乎對於工作你的情況:

[0-9A-Za-z]+([~`[email protected]#$%^&*()_+\-=;':"][0-9A-Za-z]+)+ 

我已經測試了某些情況下在regexr

PS:我不是\w\W_被解釋爲的\w一部分。在這種情況下,我假設_將是一個特殊字符。


希望這有助於!

+0

這是爲A @#B工作,但不爲A#B @ C C工作 – user3709712

+0

它不匹配'A#B @#C',你看到了什麼問題? – anacron

+0

它似乎對我很好:在這裏檢查:http://regexr.com/3g1h5 – anacron

相關問題