如何編寫一個正則表達式模式來按特定的分隔符分割一個字符串,只要它沒有以問號開頭?如何在不遵循特定字符(?)時使用正則表達式匹配字符(')?
我寫了一個解析器,將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。
有人可以幫助一個正則表達式匹配'而不是?'嗎?
感謝
你可以使用負面lookbehind:'(?<!\?)' –