有人可以爲我驗證(正則表達式匹配缺點新手)。
而不是問這個問題,我寫這:C#正則表達式驗證
Regex rgx = new Regex (@"^{3}[a-zA-Z0-9](\d{5})|{3}[a-zA-Z0-9](\d{9})$"
誰能telll我是否確定......
我想匹配的帳戶之一:
1. BAA89345 (8 chars)
2. 12345678 (8 chars)
3. 123456789112 (12 chars)
在此先感謝。
有人可以爲我驗證(正則表達式匹配缺點新手)。
而不是問這個問題,我寫這:C#正則表達式驗證
Regex rgx = new Regex (@"^{3}[a-zA-Z0-9](\d{5})|{3}[a-zA-Z0-9](\d{9})$"
誰能telll我是否確定......
我想匹配的帳戶之一:
1. BAA89345 (8 chars)
2. 12345678 (8 chars)
3. 123456789112 (12 chars)
在此先感謝。
您可以使用正則表達式測試器。大量的免費在線。 My Regex Tester是我目前的最愛。
是3個字符的值,然後是總是以3開頭的數字......它可以以小於或多於3開始。如果可以,這些分鐘和最大字符在數字之前是什麼。
您需要將量詞放在他們應該量化的字符之後。此外,字符類需要用方括號包裝。這應該工作:
@"^(?:[a-zA-Z0-9]{3}|\d{3}\d{4})\d{5}$"
有幾個好的,自動化的正則表達式測試器。您可能想查看regexpal。
雖然其可以是完全有效的匹配,我建議重寫它爲:
^([A-ZA-Z] {3} \ d {5} | \ d {8} | \ d {12})$
這就要求要匹配的字符串中的一個:
[a-zA-Z]{3}\d{5}
三個α和五個數字\d{8}
8位數字或\d{12}
十二位數字。使得它更易於閱讀,太...
我不是100%,您的目標,但也有一些問題,我可以看到了蝙蝠的權利。
當你列出可接受的字符相匹配,就像a-zA-Z0-9
,你需要把它放在括號內,像[a-zA-Z0-9]
在開始使用^
將否定所包含的字符,例如`[^ a-zA-Z0-9]
單詞字符可以匹配,如\w
,相當於[a-zA-Z0-9_]
。
量詞需要出現在匹配表達式的末尾。所以,與其{3}[a-zA-Z0-9]
,你需要寫[a-zA-Z0-9]{3}
(假設你想匹配匹配[a-zA-Z0-9]
從你的例子是不是對我很清楚這是規則的字符的三個實例。你能明確地解釋你的正則表達式必須匹配的情況? –
測試正則表達式的好工具是正則表達式小提琴:http://refiddle.com/ –
我將把我的投票用於RadSoft正則表達式設計器。http://www.radsoftware.com .au/ – Mitch