日期:2014-05-18  浏览次数:20703 次

再请教一个正则表达式问题:以字母结尾的情况
刚才学了一个: 
 
(?i)^(?!MM|MTV)[A-Z].*$ 以字母开头,且不能是MM或MTV开头的正则表达式!


新问题: 

文本文件中,每次取一行, 每一行,如果以字母结尾的行,去掉最后一个字符,但是如果是 MV 或 MTV 结束的不能去掉最后的字符:

我用: (?i)^(?!MV|MTV)[A-Z]{1}$ 这个总是能取到最后一个字符,MV 和MTV的也被我去掉了, 请高手帮帮忙,谢谢!!!

------解决方案--------------------
C# code

            string[] str = { "aaaaaaA", "bbbbbbB", "cccccMV", "ddddddD", "eeeeMTV", "ffffffF" };
            Regex reg = new Regex(@"(?i)[a-z](?<!MV|MTV)$", RegexOptions.RightToLeft);
            foreach (string s in str)
                Console.WriteLine(reg.Replace(s, ""));
/*
aaaaaa
bbbbbb
cccccMV
dddddd
eeeeMTV
ffffff
*/