@quirkasaurus: The pipe is the alternating operator, demanding that either the expression on the left or on the right has to be met. In this particular regex it means that the string "airplane" starts straightaway or after a whitespace character (\s). The whitespace char then, however, would not be in the regex result because of the "?<=" sequence. That is called positive lookbehind meaning that after a whitespace the string "airplane" has to be found.
You've got something similiar at the end of the regex: This time we're dealing with a positiv lookahead assertion, though. Additionally, the pipe operator is there one again, telling that the expression has to be followed by a whitespace char (lookahead) or ends right away ($).
@devtakh: Unfortunately, it's not changing anything. What's the use of the escaped angle brackets?
If you want to go with awk you could use my script in a for loop. Each iteration then sets a new character as input field separator and output field separator.
But hopefully, someone will provide a more elegant solution