c语言如何正则匹配逗号,C#,正则表达式:如何解析逗号分隔的值,其中一些值可能引用字符串本身包含逗号...

在C#中,使用正则表达式类,如何解析逗号分隔的值,其中一些值可能引用字符串本身包含逗号?

using System ;

using System.Text.RegularExpressions ;

class Example

{

public static void Main ( )

{

string myString = "cat,dog,\"0 = OFF,1 = ON\",lion,tiger,'R = red,G = green,B = blue',bear" ;

Console.WriteLine ( "\nmyString is ...\n\t" + myString + "\n" ) ;

Regex regex = new Regex ( "(?<=,(\"|\')).*?(?=(\"|\'),)|(^.*?(?=,))|((?<=,).*?(?=,).*?$)" ) ;

Match match = regex.Match ( myString ) ;

int j = 0 ;

while ( match.Success )

{

Console.WriteLine ( j++ + " \t" + match ) ;

match = match.NextMatch() ;

}

}

}

输出(部分)显示如下:

0 cat

1 dog

2 "0 = OFF

3 1 = ON"

4 lion

5 tiger

6 'R = red

7 G = green

8 B = blue'

9 bear

但是,期望的输出是:

0 cat

1 dog

2 0 = OFF,1 = ON

3 lion

4 tiger

5 R = red,B = blue

6 bear

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值