正则表达式-提取开头和结尾之间的字符串

正则表达式-提取开头和结尾之间的字符串

正则表达式测试网站:http://tool.oschina.net/regex/

测试字符串:“开始A123结束”

提取开头和结尾之间的字符串

  • 提取“开始”和“结束”之间的字符串“A123” ,使用正则表达式:

    (?<=开始).*?(?=结束)

  • 提取结果:A123

忽略开头的字符串

  • 忽略“开始”字符串,使用正则表达式:

    (?<=开始).*

  • 提取结果:A123结束

忽略末尾的字符串

  • 忽略“结束”字符串 ,使用正则表达式:

    .*?(?=结束)

  • 提取结果:开始A123

C# 代码:

private static string ExtractStringBetweenBeginAndEnd(string input, string begin, string end)
        {
            Regex regex = new Regex(string.Format(@"(?<={0}).*?(?={1})", begin, end));
            foreach (Match match in regex.Matches(input))
            {
                if (match != null && !string.IsNullOrEmpty(match.Value))
                {
                    return match.Value;
                }
            }

            return string.Empty;
        }

测试:

            string test = "开始A123结束";
            Console.WriteLine(ExtractStringBetweenBeginAndEnd(test, "开始", "结束"));

其他常用正则表达式

  • 不包含某些字符串,比如,不包含字符串测试

    ^((?!测试).)*$

  • 不匹配整个字符串,比如,不匹配测试,匹配测试1

^((?!测试$).)*$
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值