Group choices before joining
03Parentheses decide what belongs to an alternative; a slash does not insert a separator in data.
verb = "go" followed by verb =/ "stop" accepts either word, including their ASCII case variants.
Source for this drawing: RFC 5234 · Read RFC section 3.5 ↗
New to this? Start hereA quick picture + helpful background
A message needs an address.
Think of a packet as a small addressed envelope. Devices pass it onward; transport protocols decide what delivery promises an application gets.
Helpful first, if these ideas are unfamiliar
These pictures are analogies to help you learn. The linked RFC explains the actual rules.
Terms in this drawing
Related RFCs and changes
“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.
Concatenation joins adjacent values in order. A slash offers alternatives, not a first-match parser priority.
- Concatenation joins adjacent values in order. A slash offers alternatives, not a first-match parser priority.
- ("a" / "b") "c" accepts ac or bc, including ASCII case variants. Without parentheses, "a" / "b" "c" accepts a or bc because concatenation binds tighter than alternatives.
- The RFC recommends explicit grouping to avoid misreading concatenation mixed with alternatives.
- =/ adds alternatives to an existing rule; it does not replace them. The illustrative verb rule grows from go to go or stop.
Examples are invented ASCII strings, not a complete application protocol. Matching syntax does not establish application meaning or authorization. Core rules are in RFC5234 Appendix B.1; external encodings are separate (§2.4).
Read the RFC section ↗