<script type="text/javascript">   
    function f1(a,b)
    {
        var contextObj = {
            ControlId: targetId
       }
    }
</script><script type="text/javascript">
     function f2(a,b)
     {
           ..........
      }
</script>
我想得到<script>和</script>之间的内容,怎么写。需要得到是两段字符串,即第一个<script>和第一个</script>之间的和第二个<script>和第二个</script>之间的字符串

解决方案 »

  1.   

    <[^>]*>(?<content>[^<]*)<[^>]*>
      
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
      

  2.   

    试一下:
    <[^>]*>(?<content>[^<]*)<[^>]*>
      
    ---------------------------------------------
    msn:[email protected]请给我一个与您交流的机会
      

  3.   

    你们的方法可以得到正确结果。
    如果那个字符串中不仅有<script>...</script> 还有其它的html标签的话,其余的标签也会出来。我只想要<script>...</script>中的,这怎么写呢。
      

  4.   

    private void button1_Click(object sender, EventArgs e)
            {
                string sourceString = @"<script type=""text/javascript"">   
        function f1(a,b)
        {
            var contextObj = {
                ControlId: targetId
           }
        }
    </script><script type=""text/javascript"">
         function f2(a,b)
         {
               ..........
          }
    </script>";
                string pattern = @"<[^>]*>([^<]*)<[^>]*>";
                System.Text.RegularExpressions.MatchCollection results = Regex.Matches(sourceString, pattern, System.Text.RegularExpressions.RegexOptions.IgnoreCase);
                foreach (Match result in results)
                {
                    this.label1.Text += result.Groups[1].Value;
                    this.label1.Text += result.Groups[2].Value;
                }
            }
      
    ---------------------------------------------
    msn:[email protected]请给我一个与您交流的机会
      

  5.   

    我也正为这个困或呢,期代高手解答吧~
      
    ---------------------------------------------
    msn:[email protected]请给我一个与您交流的机会
      

  6.   

    你也可以试试:
    <script[^>]*>([\s\S]*)(?=</script>)
      
    ---------------------------------------------
    msn:[email protected]请给我一个与您交流的机会
      

  7.   

    <script[^>]*>([\s\S]*)(?=</script>)得到的是第一个<script>到最后一个</script>之前的字符,我想出了下面这个,应该可以。
    <(script.*>)[^>]*</script>
    谢谢帮忙!
      

  8.   

    括号没用,<script.*>[^>]*</script>就行了。
      

  9.   

    看见的帮忙http://community.csdn.net/Expert/topic/5677/5677248.xml?temp=.4019739谢谢
      

  10.   

    (?<=<(script.*>))[^>]*(?=</script>)應該是這個吧
      

  11.   

    那么,这两个标记也要的吧
    <script>
    </script>
    用这个试试
    <script[^>]+?>(.|\n)+?</script>
      

  12.   

    <script type="text/javascript">
    aaaaa
    <h1>bbbbb</h1>
    </script>
    <script type="text/javascript">
    ccccc
    </script>string str1 = "<script type=\"text/javascript\">\naaaaa\n<h1>bbbbb<h1>\n</script>\n<script type=\"text/javascript\">\nccccc\n</script> ";string str2 = @"(?<=<script.*>)[\n]?(?<txt>(.|\n)*?)[\n]?(?=</script>)";
    Regex reg = new Regex(str2);//, RegexOptions.Multiline);
    MatchCollection match;
    match = reg.Matches(str1);
    Console.WriteLine("{0}\n", str1);  //输出原字符
    foreach (Match m in match)
    {
          Console.WriteLine("{0}", m.Groups["txt"].Value);
    }
    输出 :
    aaaaa
    <h1>bbbbb<h1>
    ccccc