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