# `PropertyTable.Matcher.StringPath`
[🔗](https://github.com/nerves-project/property_table/blob/v0.3.3/lib/property_table/matcher/string_path.ex#L5)

Match logic using keys organized as hierarchical lists

Property keys that are lists look like `["first", "second", "third"]`.
These are intended to create a hierarchical organization of keys. Matching
patterns involves checking whether the pattern is at the beginning of the
key. This makes it possible to get notified on every property change where
the key begins with `["first", "second"]`. This is a really common use case
when using hierarchically organized keys.

Two special atoms can be used:

* `:_` - match anything at this part of the list
* `:$` - match the end of the list

# `check_pattern`

Check whether a pattern is valid

Returns `:ok` on success or `{:error, error}` where `error` is an `Exception` struct with
information about the issue.

# `check_property`

Check whether a property is valid

Returns `:ok` on success or `{:error, error}` where `error` is an `Exception` struct with
information about the issue.

# `matches?`

Returns true if the pattern matches the specified property

---

*Consult [api-reference.md](api-reference.md) for complete listing*
