我需要在 python 中解析 EDIFACT 消息。
要查找段,例如 UNB,我正在尝试使用正则表达式
pattern = "UNB(.*?)(?<!\?)(\?\?)*[']"
和测试字符串
message = "UNA+456+6:54+654'UNB+64+654+54?'UNC+54+654+654'"
段分隔符是'(撇号)和? 是转义字符。在 RegexCoach 中,匹配字符串是UNB+64+654+54?'UNC+54+654+654'
这是正确的,因为 UNB 转义后的第一个撇号
但在 Python 3.5
re.match(pattern,message)
return None :( 你知道错误在哪里吗?或者建议其他解决方案?
感谢
测试: