goto :goto_0  .line 59
  :cond_1
  const-string v1, "\u4eacC"  invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z  move-result v1  if-eqz v1, :cond_2  .line 61
  const-string v1, "\u5317\u4eac[\u4eac] C"  goto :goto_0  .line 63
  :cond_2
  const-string v1, "\u4eacE"  invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z  move-result v1  if-eqz v1, :cond_3  .line 65
  const-string v1, "\u5317\u4eac[\u4eac] E"如何把以const-string开始行的字符串全找出来?并保存相应的位置,以后要替换查找到的字符串.
因为const-string后面的v1是会变的,所以不能用Substring来做.我要的部分.
  const-string v1, "\u5317\u4eac[\u4eac] E"
只要\u5317\u4eac[\u4eac] E,不要""这是wuyazhe大侠回的.可以查找,但替换就不会了.呵呵.wuyazhe大侠的这个查出来的字符串有"",不知道怎么去.MatchCollection mc = Regex.Matches(yourStr,@"const-string\s+(\w+),\s*("".+"")");
foreach(Match m in mc)
{
    m.Groups[1].Value就是变量v1
    m.Groups[2].Value就是后面的字符串
    m.Index就是const-string的开始位置
}

解决方案 »

  1.   

    @"const-string\s+(\w+),\s*(""(.+)\s+\w+"")"Group[3].Value就是了
      

  2.   

    @"const-string\s+(\w+),\s*(""(.+)"")"Group[3].Value刚才理解错了
      

  3.   


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Text.RegularExpressions;
    using System.IO;
    namespace sxLdfang
    {
        class Program
        {
            static void Main(string[] args)
            {
                string html = @"goto :goto_0  .line 59
      :cond_1
      const-string v1, ""\u4eacC""  invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z  move-result v1  if-eqz v1, :cond_2  .line 61
      const-string v1, ""\u5317\u4eac[\u4eac] C""  goto :goto_0  .line 63
      :cond_2
      const-string v1, ""\u4eacE""  invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z  move-result v1  if-eqz v1, :cond_3  .line 65
      const-string v1, ""\u5317\u4eac[\u4eac] E""
    ";
                string pattern = @"(?<=const-string \w+\s*,\s*"")[^""]+";
                MatchCollection mc = Regex.Matches(html, pattern);
                foreach (Match m in mc)
                {
                    Console.WriteLine(m.Value);
                }
                Console.ReadKey();
            }
        }
    }
    运行结果:
    \u4eacC
    \u5317\u4eac[\u4eac] C
    \u4eacE
    \u5317\u4eac[\u4eac] E
      

  4.   

    请问,如果我要替换呢?
    如,怎么样把\u4eacC
    替换了?
      

  5.   


    替换用 Regex.Replace(html,@"aaa","bbb");把html中所有的aaa替换成bbb,aaa可用正则表达式,bbb也可根据找到的内容进行处理。