我想構建一個正則表達式,它只允許在其他位置使用特殊字符。例如,A:)B
是不允許的,但允許使用A:B
。正則表達式允許特殊字符只在替代位置
A:B:C
是允許的,但A,[email protected]*(C((D
不是。
唯一的要求是允許特殊字符在替代位置,即使是特殊字符後面跟着數字/字符也是允許的。
不管兩個特殊字符是相同還是不同,甚至連續兩個字母數字都應該被允許。
我想構建一個正則表達式,它只允許在其他位置使用特殊字符。例如,A:)B
是不允許的,但允許使用A:B
。正則表達式允許特殊字符只在替代位置
A:B:C
是允許的,但A,[email protected]*(C((D
不是。
唯一的要求是允許特殊字符在替代位置,即使是特殊字符後面跟着數字/字符也是允許的。
不管兩個特殊字符是相同還是不同,甚至連續兩個字母數字都應該被允許。
這似乎對於工作你的情況:
[0-9A-Za-z]+([~`[email protected]#$%^&*()_+\-=;':"][0-9A-Za-z]+)+
我已經測試了某些情況下在regexr:
PS:我不是\w
和\W
爲_
被解釋爲的\w
一部分。在這種情況下,我假設_
將是一個特殊字符。
希望這有助於!
這是爲A @#B工作,但不爲A#B @ C C工作 – user3709712
它不匹配'A#B @#C',你看到了什麼問題? – anacron
它似乎對我很好:在這裏檢查:http://regexr.com/3g1h5 – anacron
你可以在這裏嘗試一下http://regexr.com/進行測試 – Mike
這個問題需要工作來負責。您需要定義特殊字符和「普通」字符(僅限大寫ASCII字母?)。會':A)B $'被允許嗎?等等,匹配規則還不清楚。 –
今天,除了兩個不同的或相同的特殊字符外,其他所有東西都被允許使用 – user3709712