如何在不遵循特定字符(?)时使用正则表达式匹配字符(’)?
我怎样才能写一个正则表达式模式,用一个特定的分隔符分割一个字符串,只要它前面没有问号?
我编写了一个解析器,将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。
有人可以帮助正则表达式匹配’而不是?’?
谢谢
负面观察 :
(?
只需使用\’而不是尝试做一个regex.Matches ,而是做一个regex.Split