Skip to content

Commit

Permalink
Add wildcard matching doc
Browse files Browse the repository at this point in the history
  • Loading branch information
argerus committed Aug 24, 2023
1 parent 42414cd commit 5f364b4
Showing 1 changed file with 26 additions and 0 deletions.
26 changes: 26 additions & 0 deletions doc/wildcard_matching.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
### Matching rules

* An empty "" pattern will match any signal.
* A pattern without any asterisk either matches a signal directly or any signal that is a direct or indirect child of the branch matching the pattern.
* An asterisk "`*`" at the end of a pattern will match any signal that is a direct child of the branch indentified by the preceding pattern.
* A double asterisk "`**`" at the end of a pattern matches any signal that is a direct or indirect child of the branch identified by the preceding pattern.
* An asterisk "`*`" in the middle (or beginning) of a pattern matches any signal that has a branch (of any name) at that position.
* A double asterisk "`**`" in the middle (or beginning) of a pattern matches any signal that has zero or more branches at that position.

### Examples

| Path | Matches |
|---------------------|--------------------------------------|
| `""` | Everything |
| `"Vehicle"` | Everything starting with `Vehicle` |
| `"Vehicle.Cabin.Sunroof"` | `Vehicle.Cabin.Sunroof.Position`<br>`Vehicle.Cabin.Sunroof.Shade.Position`<br>`Vehicle.Cabin.Sunroof.Shade.Switch`<br>`Vehicle.Cabin.Sunroof.Switch` |
| `"Vehicle.Cabin.Sunroof.**"` | `Vehicle.Cabin.Sunroof.Position`<br>`Vehicle.Cabin.Sunroof.Shade.Position`<br>`Vehicle.Cabin.Sunroof.Shade.Switch`<br>`Vehicle.Cabin.Sunroof.Switch` |
| `"Vehicle.Cabin.Sunroof.*"` | `Vehicle.Cabin.Sunroof.Position`<br>`Vehicle.Cabin.Sunroof.Switch` |
| `"Vehicle.Cabin.Sunroof.*.Position"` | `Vehicle.Cabin.Sunroof.Shade.Position` |
| `"**.Sunroof.*.Position"` | `Vehicle.Cabin.Sunroof.Shade.Position` |
| `"*.*.*.*.Position"` | `Vehicle.Cabin.Sunroof.Shade.Position` |
| `"Vehicle.Cabin.Sunroof.**.Position"` | `Vehicle.Cabin.Sunroof.Position`<br>`Vehicle.Cabin.Sunroof.Shade.Position` |
| `"**.Sunroof"` | Nothin |
| `"**.Sunroof.**"` | `Vehicle.Cabin.Sunroof.Position`<br>`Vehicle.Cabin.Sunroof.Shade.Position`<br>`Vehicle.Cabin.Sunroof.Shade.Switch`<br>`Vehicle.Cabin.Sunroof.Switch` |
| `"*.Sunroof"` | Nothing|
| `"Sunroof"` | Nothing|

0 comments on commit 5f364b4

Please sign in to comment.