C# 如果不跟随特定字符(?),如何使用正则表达式匹配字符(';)?

C# 如果不跟随特定字符(?),如何使用正则表达式匹配字符(';)?,c#,regex,edi,edifact,C#,Regex,Edi,Edifact,只要字符串前面没有问号,我如何编写正则表达式模式来用特定的分隔符分割字符串 我编写了一个解析器,它将EDIFACT消息拆分为段、组合和元素。但在EDI标准中,问号是一个转义字符。 因此,要拆分此字符串: 'PRI+2.005:1+9022.5'RAD+RRHANB97+120814' 我可以先使用string.Split('\''),然后使用string.Split('+'),再使用string.Split(':')来获取PRI、2.005、19022.5等等 但是,这些字符可以用问号转义:

只要字符串前面没有问号,我如何编写正则表达式模式来用特定的分隔符分割字符串

我编写了一个解析器,它将EDIFACT消息拆分为段、组合和元素。但在EDI标准中,问号是一个转义字符。 因此,要拆分此字符串:

'PRI+2.005:1+9022.5'RAD+RRHANB97+120814'
我可以先使用string.Split('\''),然后使用string.Split('+'),再使用string.Split(':')来获取PRI、2.005、19022.5等等 但是,这些字符可以用问号转义:

'PRI+2.005?+3.2:1+9022.5'RAD?'R+RRHANB97+120814'
现在应该是PRI,2.005+3.2,19022.5,RAD'R,rhanb97

有人能帮我找到一个匹配“and”而不是“the”的正则表达式吗

感谢您


(?只需使用\”,而不是尝试执行正则表达式匹配操作,而是执行正则表达式拆分操作。

您可以使用消极的回顾:
(?谢谢!我一直使用(?=!\?)积极的前瞻。
(?<!\?)'