我有一個C#正則表達式,我想匹配7個字符:爲什麼我的C#正則表達式要求7個字符接受8個字符?
string digits4 = "\\d{4}";
string allowable3 = "[a-zA-z0-9 $%&#?+=!]{3}";
Regex regex1 = new Regex(digits4 + allowable3);
allowable3
是爲了匹配三個字母,數字或任何後續字符。但是,下面的返回true:
regex1.IsMatch("1234abc^")
這讓我困惑的原因有兩個:
- 匹配的模式有8個字符。
allowable3
不包含「^」。 我必須在我的「positive character group」(方括號內的部分)內進行一些額外的意外通配符匹配,但我沒有看到它。
使用錨點^和$圍繞模式。當模式未被錨定時,IsMatch搜索部分匹配。 –
你需要使用'^'和'$'來匹配完整的字符串,而不僅僅是檢查字符串的某個部分是否滿足正則表達式。 – Tushar