有如下字符串:
"<str1>name1</str1><str2>name2</str2>"
用正则表达式如何取出"name1"和"name2"呢?谢谢

解决方案 »

  1.   


                string str = "<str1>name1</str1><str2>name2</str2>";
                Regex reg = new Regex("<str1>(?<str1>.*?)</str1><str2>(?<str2>.*?)</str2>");            foreach (Match m in reg.Matches(str))
                {
                    Console.WriteLine(m.Groups["str1"].Value);
                    Console.WriteLine(m.Groups["str2"].Value);
                }
      

  2.   

    string str = "<str1>name1</str1><str2>name2</str2>";
           
            Regex reg = new Regex(@"<(str[0-9])>([^<]+?)</\1>");
            foreach (Match m in reg.Matches(str))
            {
                Response.Write(m.Groups[2].Value + "<br/>");
            }
    /*
    name1
    name2
    */
      

  3.   

    小弟 追问下:"<str1>name1</str1><str2>name2</str2>"我想   把name1 替换为 Jerry
              把name2 替换为 Tom
    请求
    C# 
    Jscript
    语句?
      

  4.   


    string tempStr = "<str1>name1</str1><str2>name2</str2>";
                tempStr = tempStr.Replace("name1", "Jerry").Replace("name2", "Tom");
      

  5.   


    你这个是 只要有 name1 就替换为  Jerry;
    我是想说,不是所有name 都替换。
    而是  <str1>我也不知是什么东西</str1><str2>我也不知是什么东西</str2>
    变成  <str1>Jerry</str1><str2>Tom</str2>
      

  6.   

    我再举个例子吧。
    如下:
    有一片文章中有。 提到很多车牌号    [a-zA-Z]{2,4}\d{1,3}
    比如 abc25,ac990 等等。
    就用 正則 “ [a-zA-Z]{2,4}\d{1,3}”把它找出来。
    但是 我要替换一下。
    abc25  要替换成 abc-25
    ac990  要替换成  ac-990 
      

  7.   

    jScript 语句,C# 语句  都要!!!!都要啊。 前后台要过滤啊。
      

  8.   


    Regex.Replace(input, "(<str1>)[^<>]*(</str1><str2>)[^<>]*(</str2>)", "$1Jerry$2Tom$3");
    // 你跟楼主什么关系  谁是谁的马甲?