While I don’t fully understand the sample data and your message structure, I suspect that there could be a fundamental problem.
Assuming that the [TRN], [NM1] are optional segments, when Cloverleaf is parsing a message without TRN but has a NM1 segment, how would it be possible for Cloverleaf to recognize what it is seeing is an NM1 instead of a TRN?
Please also note that the ‘Condition Options’ determines the presence/absence of a segment using a field from a previous segment.
I would expect a very complicated and intelligent setup in order for this to work if it is at all possible. It would be nice if you can provide a more detailed view on your sample data as well as your message structure. For instance, does every segment ends with a new line character? Does the 6-8 characters always presence regardless of the presence of the segment?