用正規表示式判斷字元重複

2021-05-23 16:18:32 字數 679 閱讀 7401

需要asp判斷字串必須由038acdehimotuvwxy組成,字元順序無所謂,但不能重複,而且乙個也不能少(用len(17)解決),我寫的正規表示式(用not反向判斷):

answer=ucase(trim(request.form("chepai")))'輸入大寫轉換

set re = new regexp'申明正規表示式變數

re.pattern = "[^038acdehimotuvwxy]|(/w+)(.*)/1"

if (len(answer)=17) and (not re.test(answer)) then

yes=true

else

yes=false

end if

正規表示式"[^038acdehimotuvwxy]|(/w+)(.*)/1"由兩部分組成,中間用「|」邏輯或連線

前面的[^038acdehimotuvwxy]匹配除了這17個字元之外的任何字元,很簡單。

關鍵是後面的(/w+)(.*)/1匹配任意重複的字母數字比較難想到。

/1表示匹配前面的/w所匹配的字元,.*表示中間可以隔0個或多個其他字元。

本來開始寫的是這樣:[^038acdehimotuvwxy]|.

結果那個.把「03」這樣的也給匹配了,不符合要求,我只想匹配出「00」「33」或者「030」這樣的,還是應該用(/w+)(.*)/1

正規表示式判斷

public class test 校驗輸入的qq號碼是否符合規則 param qq return public static boolean checkqq1 string qq 如果qq號碼中有任何一位不是數字,就直接返回false for int i 0 i qq.length i 如果首位是...

(3)正規表示式 重複描述字元

重複描述字元 是體現c 正規表示式 很好很強大 的地方之一 匹配前面的字元n次 匹配前面的字元n次或多於n次 匹配前面的字元n到m次 匹配前面的字元0或1次 匹配前面的字元1次或多於1次 匹配前面的字元0次或式於0次 以下提供一些簡單的示例 code stringx 1024 stringy 102...

正規表示式字元

正規表示式符號 字元 描述 標記下乙個字元是特殊字元或文字。例如,n 和字元 n 匹配。n 則和換行字元匹配。序列 和 匹配,而 則和 匹配。匹配輸入的開頭。匹配輸入的末尾。匹配前乙個字元零或多次。例如,zo 與 z 或 zoo 匹配。匹配前乙個字元一次或多次。例如,zo 與 zoo 匹配,但和 z...