第一个
string s = "123and><>ora";
string ex = @"\d*\w*[><]*(\w*)";
MessageBox.Show( Regex.Replace( s,ex,"$1" ) );第二个
string s = "123<>>and--ora";
string ex = @"[\d><\w]*[-]?(\w*)";
MessageBox.Show( Regex.Replace( s,ex,"$1" ) );

解决方案 »

  1.   

    using System;
    using System.Text.RegularExpressions;         string s = "123and><>ora";
    s = Regex.Replace(s,@"\d+\w+","");
    Regex re = new Regex(@"\w+");
    MatchCollection mc = re.Matches(s);
    foreach (Match m in mc)
    Console.WriteLine(m.Value); s = "123<>>and--ora";
    s = Regex.Replace(s,@"(\d+|[<>]+)\w+","");
    re = new Regex(@"\w+");
    mc = re.Matches(s);
    foreach (Match m in mc)
    Console.WriteLine(m.Value);
      

  2.   

    重新回答你的问题,只提供正则
    1,提取前面没有数字的字母
    "(?<!\d)\w*"2,提取前面没有数字,逻辑符号的字母
    "(?<![\d<>])\w*"