字符串中匹配以某个固定字符串开头和结尾的字符串

发布时间 2023-07-06 16:57:42作者: 木子zzgxl
            string pinjieStr = "89 02 46 49 52 45 20 41 4C 41 52 4D 20 20 20 20 20 20 20 20 20 20 20 CA D6 B6 AF B1 A8 BE AF B0 B4 C5 A5 20 20 20 20 20 20 20 CB ED B5 C0 B9 DC C0 ED D5 BE 20 20 20 20 20 20 20 20 20 20 4E 2F 41 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4C 56 4C 20 37 20 20 20 20 20 20 20 20 20 4D 35 30 30 48 20 20 20 20 20 20 20 20 31 30 3A 33 37 3A 31 32 20 20 32 30 32 33 2F 30 37 2F 30 35 20 20 20 20 20 20 49 20 4E 30 30 31 4C 30 35 2E 31 34 30 0D 0A 03 56";
            pinjieStr = pinjieStr.Replace(" ", "");
            string pattern = @"\B02\S*0D0A03\B";
            // \B表示不是字边界的位置,这个串表示以02开头以0D0A03结尾的任意字符串。如hmabbccln中的abbcc这个串
            // \b表示字边界,就是以02开头以0D0A03结尾的单词。如I know abc中的abc这个单词
            // \S表示任何不是空白的字符。\s表示任何空白字符。

            MatchCollection match = Regex.Matches(pinjieStr, pattern, RegexOptions.IgnorePatternWhitespace | RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture);