rex command im using: (?:\w+\s\:\s)(?<command>[^\;]+)?\;\s(?<Datainput>[^\s]+)\s\;\s(?<Extra>[^\s]+)
Data
1) command : TTY-unknown ; data ; ... ;
2) command : Random blurb ; TTY-unknown ; data ; ... ;
3) command : Some other blurb ; TTY-unknown ; data ; ... ;
4) command : TTY-unknown ; data ; ... ;
5) command : TTY-unknown ; data ; ... ;
When I rex this data, what i get is:
command | TTY | datainput | |
1 | unknown | data | ... |
2 | Random blurb | unknown | data |
3 | Some other blurb | unknown | data |
4 | unknown | data | ... |
5 | unknown | data | ... |
What I want to get is data that doesn't skip the data in 2 and 3, so it would look like this. How do I accomplish this?
command | TTY | datainput | |
1 | unknown | data | |
2 | Random blurb | unknown | data |
3 | Some other blurb | unknown | data |
4 | unknown | data | |
5 | unknown | data |
IME, when fields are optional it is much simpler to use multiple rex commands - one for each optional field, plus one or more others for the static fields.