- Protocol chains must start with a protocol
- Protocol values can contain pipe delimiter
- Added regex helper to allow expression reuse