3

只要字符串前面没有问号,我如何编写正则表达式模式以按特定分隔符拆分字符串?

我编写了一个解析器,它将 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。

有人可以帮助匹配'而不是?'的正则表达式吗?

谢谢

4

2 回答 2

5

负面回顾

(?<!\?)'
于 2012-10-19T08:55:45.560 回答
0

只需使用\'而不是尝试执行regex.Matches,而是执行regex.Split

于 2016-02-03T09:46:23.493 回答