您好,登錄后才能下訂單哦!
這篇文章主要介紹“C#如何實現擇一匹配”,在日常操作中,相信很多人在C#如何實現擇一匹配問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C#如何實現擇一匹配”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
C#正則表達式中的 (|) 符號似乎沒有一個專門的稱謂,姑且稱之為“擇一匹配”吧。事實上,像[a-z]也是一種擇一匹配,只不過它只能匹配單個字符,而(|)則提供了更大的范圍,(ab|xy)表示匹配ab或匹配xy。注意“|”與“()”在此是一個整體。
下面提供一些簡單的C#正則表達式之擇一匹配示例:
string x = "0"; string y = "0.23"; string z = "100"; string a = "100.01"; string b = "9.9"; string c = "99.9"; string d = "99."; string e = "00.1"; Regex r = new Regex(@"^\+?((100(.0+)*)|([1-9]?[0-9])(\.\d+)*)$"); Console.WriteLine("x match count:" + r.Matches(x).Count);//1 Console.WriteLine("y match count:" + r.Matches(y).Count);//1 Console.WriteLine("z match count:" + r.Matches(z).Count);//1 Console.WriteLine("a match count:" + r.Matches(a).Count);//0 Console.WriteLine("b match count:" + r.Matches(b).Count);//1 Console.WriteLine("c match count:" + r.Matches(c).Count);//1 Console.WriteLine("d match count:" + r.Matches(d).Count);//0 Console.WriteLine("e match count:" + r.Matches(e).Count);//0 //匹配0到100的數。最外層的括號內包含兩部分“(100(.0+)*)”, //“([1-9]?[0-9])(\.\d+)*”, //這兩部分是“OR”的關系, //即正則表達式引擎會先嘗試匹配100, //如果失敗,則嘗試匹配后一個表達式(表示[0,100)范圍中的數字)。
到此,關于“C#如何實現擇一匹配”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。