首页 > 代码库 > 正則表達式截取字符串两字符间的内容

正則表達式截取字符串两字符间的内容

一、问题

我有个字符串比方a="abcdanmcadedcdeefako"那么我怎么能得到一个数组,当中数组的各项是字母a和c的中间字符。即第一项是"b"第二项"nm"第三项"ded"

二、答案

以下是C#写的,java也能够适用

static void Main(string[] args)
        {
            string a = "abcdanmcadedcdeefako";
                        Regex reg = new Regex("(?i)(?<=a)[^a]*(?

=c)");//commend by danielinbiti MatchCollection mc = reg.Matches(a); foreach (Match m in mc) { Console.WriteLine(m.Value); } }


假设字符串是"a1bcdAnmca1derdcdeefa1koc"

须要匹配a1和c之间。那么正則表達式就是

(?i)(?<=a1)((?

!a1).)*(?=c)

这里主要用到了  预搜索和反向预搜索



正則表達式截取字符串两字符间的内容