正则表达式 获取 两字符之间的

(?<=,).+(?=\))                           获取   ,  和  ) 之间的 字符串   不包括两字符

,(.*)\)                              获取   ,  和  ) 之间的 字符串   包括两字符
(,).+(?=\))                       获取   ,  和  ) 之间的 字符串   包括 ,   不包括 )

            // 例如我想把如下格式记录中的NAME值修改为WANG
            string line = "ADDR=1234;,NAME)=ZHANG;,PHONE)=6789";
            Regex reg = new Regex(@"(?<=,).+(?=\))");
            //例如我想提取记录中的NAME值
            Match match = reg.Match(line);
            string value = match.Groups[1].Value;
            var bb = Regex.Match(line, @"(?<=,).+?(?=\))");
            var cc = Regex.Match(line, @"(?<=,).*?(?=\))");

合并多个空格

string ee =new  Regex("[\\s]+").Replace(dd," ");

别人网上的 正则表达式匹配两个特殊字符中间的内容 - GuoZeping - 博客园

匹配两个字符串A与B中间的字符串包含A与B: 表达式: A.*?B(“.“表示任意字符,“?”表示匹配0个或多个)

示例: Abaidu.comB

结果: Awww.apizl.comB

匹配两个字符串A与B中间的字符串包含A但是不包含B:

表达式: A.*?(?=B)

示例: Awww.apizl.comB

结果: Awww.apizl.com

匹配两个字符串A与B中间的字符串且不包含A与B:

表达式: (?<=A).*?(?=B)

这种写法没看懂,我猜测是如果不包含前面匹配的字符写法(?<=要匹配的开始字符),不包含后面要匹配的字符写法(?=要匹配的结束字符)

示例: Awww.baidu.comB

结果: www.baidu.com


要想换行匹配得把点 . 替换成 [\s\S]

匹配不到正确的第一个满足的节点

 上面是错误的,下面是正确的

如果要获取两个 , 之间 第一个匹配结果

 就使用

(?<=^\w[^,]*,)\w+(?=,)

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值