现在的位置: 首页 > 综合 > 正文

C#正则表达式匹配替换字符串

2013年01月30日 ⁄ 综合 ⁄ 共 1540字 ⁄ 字号 评论关闭

事例一:忘了这个正则是干嘛的了,反正重要的是方法和类的名字        

    string SrcStr = this.txt.Text;
            string DestStr = "";
            //new Regex("");
            string str = this.txt.Text;
            //str.Replace("//","");
            RegexOptions RegexOptions = ((RegexOptions.IgnorePatternWhitespace | RegexOptions.Multiline) | RegexOptions.IgnoreCase);
            Regex SrcRegObj = new Regex(@"\{(? <name> [^}]*)\}[\s]*(? <value> [\S   ]*) ", RegexOptions);

            foreach (Match MatchData in SrcRegObj.Matches(SrcStr))
            {
                CaptureCollection CaptureData = MatchData.Captures;
                for (int i = 0; i < CaptureData.Count; i++)
                {
                    string m_ReplaceItemRegexStr = @"\{ <name> \}[\s]*(? <value> [\S   ]*) ";
                    Regex DestRegObj = new Regex(m_ReplaceItemRegexStr.Replace(" <name> ", MatchData.Groups["name "].Captures[i].ToString()), RegexOptions);
                    DestStr = DestRegObj.Replace(DestStr, CaptureData[i].ToString());
                }
            }

事例二:

            string x = this.txt.Text;
            RegexOptions ops = RegexOptions.Multiline;
            Regex r = new Regex(@"\[(.+?)\]", ops); //\[(.+?)\/\]   @"\[(.+)\](.*?)\[\/\1\]"
            //Response.Write(r.IsMatch(x).ToString()+DateTime.Now.ToString());
            if (r.IsMatch(x))
            {
                x = r.Replace(x, "<$1>");
                Response.Write(x.ToString() + DateTime.Now.ToString());
                //Console.WriteLine("var x:" + x);//输出:Live for nothing
            }
            else
            {
                Response.Write("false" + DateTime.Now.ToString());
            }

这个是为了替换"[]"对,把它们换成"<>"

抱歉!评论已关闭.