读书人

急正则帝进!该怎么处理

发布时间: 2012-01-28 22:06:14 作者: rapoo

急急急!正则帝进!
求一正则表达式 替换 "AA" "BB" 之间的 任何 "CC" 为 "DD"

例如 "AACCBBAAEFCCDBB" 变为 "AADDBBAAEFDDDBB"


多谢!


[解决办法]
static void Main(string[] args)
{
Regex regex = new Regex(@"AA[a-zA-Z0-9_\u4e00-\u9fa5]+BB");
MatchEvaluator me = new MatchEvaluator(replace);
string str = "AACCBBCCAAEFCCDBB";
str = regex.Replace(str, me);
Console.WriteLine(str);
}
static string replace(Match m)
{
return m.Value.Replace("CC", "DD");
}
[解决办法]
找到更好的方法了:

C# code
            Regex reg=new Regex( @"AA.*CC.*BB" );            MatchCollection mc = reg.Matches( "AACCBBAAEFCCDBB" );            MessageBox.Show( reg.Replace( "AACCBBAAEFCCDBB", new MatchEvaluator( ( m ) => {                return m.Value.Replace( "CC", "DD" );            } ) ) );
[解决办法]
探讨

static void Main(string[] args)
{
Regex regex = new Regex(@"AA[a-zA-Z0-9_\u4e00-\u9fa5]+BB");
MatchEvaluator me = new MatchEvaluator(replace);
string str = "AACCBBCCAAEFCCDBB";
s……

[解决办法]
C# code
string str = "AACCBBAAEFCCDBB";            if (new Regex("AA.*BB").IsMatch(str))             {                str=str.Replace("CC", "DD");                Console.WriteLine(str);            }
[解决办法]
C# code
void Main(){    string str = "AACCBBAAEFCCDBBCC"; str=Regex.Replace(str,"(?<=AA).*?(?=BB)",m=>m.Value.Replace("CC","DD")); Console.WriteLine(str); //AADDBBAAEFDDDBBCC} 

读书人网 >C#

热点推荐