
# Wildcard Patterns

Case insensitive matches.

Special markers:
  ? ~ any char
  * ~ "" "any-chars"
  a|b == a || b

Note:
  A match action will skip over './' '../' at start of string
  to avoid unexpected matches with '.*' in pattern.

---

# Wildcard Expressions

Case insensitive matches.

Special markers:
  ? ~ any char
  * ~ "" "any-chars"

  [abc]   ~ a || b || c
  []abc[] ~ a || b || c || '[' || ']'

  [!abc]   ~ ! [abc] <==> [^abc]
  [!]abc[] ~ ! []abc[]
    [a!^]  ~ a || '!' || '^'
    [a-c]  ~ a || b || c

  predefined classes
  \\s \\w \\d \\x [:s:] [:w:] [:d:] [:x:] ~ space word digit xdigit
  \\S \\W \\D \\X [:S:] [:W:] [:D:] [:X:] ~ negated class

  \\p \\P [:p:] [:P:]
      SafeR Path, skip chars:
          Ctrl SPC \" # $ % & \' ( ) * / : ; < > ? [ \\ ] { | } \` DEL

  a|b ~ a || b

  (capture)   : ~ once <==> (1=capture)
  (?=capture) : 0..1 occurences
  (+=capture) : 1..n occurences
  (*=capture) : 0..n occurences

  (?-pattern) : non-capture variant, '-' marker
  (!-pattern) : not match <==> (^=pattern)

Notes:
  The syntax allows: *()* ?()? (1=?=) (1=*=) (1=1=)
  Negate with: '!' or '^'

Anchors:
  < >     ~ start/end of word
  ^ $     ~ start/end of haystack/line

Escape other chars:
\\x  ~ when x is not in predefined classes and is not an anchor
        a case sensitive match for exactly this char is expected.

Note:
  A match action will skip over './' '../' at start of string.
  to avoid unexpected matches with '.*' in pattern.

---
