/* 正则验证 */ /// <summary> /// 返回与模式字符串匹配的值 /// </summary> /// <param name="input">输入字符串</param> /// <param name="pattern">模式字符串</param> /// <returns></returns> public static string Match(this string input, string pattern) { return input.IsNullOrEmpty() ? null : Regex.Match(input, pattern).Value; } /// <summary> /// 获取搜索到的内容 正则表达式 /// </summary> /// <param name="str">要搜索的字符串</param> /// <param name="s1">开始位置</param> /// <param name="s2">结束位置</param> /// <returns></returns> public static string MatchString(this string str, string s1, string s2) { return Match(str, @"(?<=" + s1 + ").*?(?=" + s2 + ")"); } /// <summary> /// 获取搜索到的内容 /// </summary> /// <param name="str"></param> /// <param name="s1">开始位置</param> /// <param name="s2">结束位置</param> /// <returns></returns> public static string SearchString(this string str, string s1, string s2 = "") { if (str.IndexOf(s1) > -1 && str.IndexOf(s2) > -1) { int n1, n2; n1 = str.IndexOf(s1, 0) + s1.Length; //开始位置 n2 = str.IndexOf(s2, n1); //结束位置 if (n2 == -1) { return string.Empty; } if (s2.IsNullOrEmpty()) { n2 = str.Length; } return str.Substring(n1, n2 - n1); //取搜索的条数,用结束的位置-开始的位置,并返回 } return string.Empty; }