如果字符串前面没有问号,我怎么能写一个正则表达式模式来分割字符串呢?
我编写了一个解析器,将EDIFACT消息拆分为段,复合和元素。但在EDI标准中,问号是逃避字符。 所以要拆分这个字符串:
'PRI+2.005:1+9022.5'RAD+RRHANB97+120814'
我可以使用string.Split(' \''),然后使用string.split(' +')然后使用string.split(') ;:')获得PRI,2.005,1,9022.5等 但是,这些字符可以通过问号转义:
'PRI+2.005?+3.2:1+9022.5'RAD?'R+RRHANB97+120814'
现在应该是PRI,2.005 + 3.2,1,9022.5,RAD' R,RRHANB97。
有人可以帮助使用符合'的正则表达式。而不是?'?
由于
答案 0 :(得分:5)
(?<!\?)'
答案 1 :(得分:0)
只需使用 \&#39; ,而不是尝试 regex.Matches ,而是 regex.Split