title: using regex - or any other solution - to change number (1-)(2-) to <ul><li> tags
body: <p>I have a problem using regex in C#, or at least what I think it will be the solution of my problem, I have this string for example:</p>
  
  <blockquote>
    <p>"Go to Original Budget screen, \n1- Check if Original Budget is Original Budget CV\n- Check if Remaining Budget is Remaining Budget CV\n- Check new field Exchange rate \n- Check new field Original Budget FC \n- Check new field Remaining Budget FC \n2- Check renamed  field under Weekly Details:\n- Check if In Flow is In Flow CV \n- Check if Out Flow is Out Flow CV \n- Check new field In Flow FC\n- Check new field Out Flow FC"</p>
  </blockquote>
  
  <p>I need it to be :</p>
  
  <blockquote>
    <p>Go to Original Budget screen <ul><li>Check if Original Budget is
    Original Budget CV</li> <ul><li>Check if Remaining Budget is Remaining
    Budget CV</li> <li>Check new field Exchange rate</li> <li>Check new
    field Original Budget FC</li> <li>Check new field Remaining Budget
    FC</li> </ul><li>Check renamed field under Weekly Details:</li>
    <ul><li>Check if In Flow is In Flow CV</li> <li>Check if Out Flow is
    Out Flow CV</li> <li>Check new field In Flow FC</li> <li>Check new
    field Out Flow FC</li></ul></ul></p>
  </blockquote>
  
  <p>so if the simple example didn't get the message, I want to put <code>&lt;li&gt;</code> and <code>&lt;ul&gt;</code> tag in that string so I can use it on a web application</p>
  
  <p>this is a simple of my code:</p>
  
  <pre><code>  private string regexmethod(string field)
      {
          string strRegex = @"^(.+?)\\n[\d|\w]-\W+";
          Regex CatchBetweenTheFirstDot = new Regex(@"\\n[\d|\w]-\W+(.+?)\\n[\d|\w]-\W+");
          Regex CatchTheNumbers = new Regex(@"\\n[\d|\w]-\W+");
          Regex CatchFirstLineBeforDot = new Regex(strRegex);
          Regex CatchInsideFirstRegex = new Regex(@"\\n-\W+");
          var matchFirst = CatchFirstLineBeforDot.Matches(field);
          var matchBetween = CatchBetweenTheFirstDot.Matches(field);
          StringBuilder str = new StringBuilder();
          if (matchFirst.Count &gt; 0)
              str.Append(matchFirst[0].Value);
          foreach (Match matchItem in matchBetween)
          {
              str.Append("&lt;ul&gt;&lt;li&gt;");
              string newvalue = matchItem.Value;
              var matchTheInside = CatchInsideFirstRegex.Matches(newvalue);
              for (int i = 0; i &lt; matchTheInside.Count; i++)
              {
                  if (i == 0)
                  {
                      newvalue.Replace(matchTheInside[i].Value, @"&lt;ul&gt;&lt;li&gt;");
                  }
                  else
                  {
                      newvalue.Replace(matchTheInside[i].Value, @"&lt;\li&gt;&lt;li&gt;");
                  }
              }
              if (newvalue.Length &gt; 0)
              {
                  newvalue += "&lt;/li&gt;&lt;/ul&gt;";
                  str.Append(newvalue);
              }
  
          }
  </code></pre>
  
  <p>this is what i got so far, but it didn't work with me.</p>
  
  <p>any help will be thankful.</p>