AutoHotkey webinar on Regular Expressions- Learn some great RegEx Tips!

This AHK Webinar focused on Regular Expressions.

AutoHotkey Webinar Videos

AutoHotkey webinar

Video of Hour One

Video of Hour two

Content from AutoHotkey Webinar

What are Regular Expressions?

  • “Symbols that describe a text pattern”
  • Pattern matching- Chances are extremely high that you’re familiar with this.
    • Using * or ? when looking for a file in Windows Explorer
    • Validate format ( email, phone number, zip code, two-letter state abbreviation)
    • Search & replace text in files
    • Count # of times pattern exists
    • Find duplicate words

When to use RegEx vs. other functions like StrReplace(), InStr()

  • When Haystack is smaller- probably doesn’t matter
  • StrReplace() and InStr() are faster than RegEx but simpler

General rule-of-thumb:  Use RegEx when your pattern is more complex

RegExMatch vs. RegEx Replace

There is definitely overlap between the two tools however here is a high-level view of their “niche” areas & important their differences:

RegExMatch()

  • Tool for finding, saving & extracting specific matches
  • Once your match is found, RegExMatch has done it’s job and stops processing. To continue you need to restart beginning where your last match was found
  • Does NOT affect original data
  • Returns found position
  • O) Match pattern can be returned as an object/pseudo array for easy access

RegExReplace()

  • Modification tool allows you to change (re-order/structure, swap out) your data
  • Does not stop after finding first match. Unless otherwise stipulated it proceeds through the entire haystack
  • Returns Newstring:= (altered) string

Common / Helpful RegEx Options

  • m) Multiline (treats each line as separate text)
  • U) Ungreedy (stops at first match)
  • x) Ignore whitespace (great for multiline RegEx)
  • C) Auto-callout mode (help show where you are in your Expression)
  • O) (in RegExMatch) returns match in object

Quantifiers

  • * 0 or more times
  • ? 0 or 1 times
  • + 1 or more times
  • {N} exactly N times
  • {N,} N or more times
  • {N,M} N through M times

Characters Needing Escape

  • \ . * ? + [ { | ( ) ^ $”

Ranges

  • [1-5], [a-e]

Special Characters

  • ^ Start of Line
  • $ End of Line
  • . Any character

Escapes

  • \d  Digit              \D   Non-digit
  • \s Whitespace    \S    Non-whitespace
  • \w “Word“          \W Non-“Word”
  • \n  New Line       \t  Tab
  • \r  Line Return   \b  Boundary
  • \QLiteral\E
  • \x  where x is Hex  \x22=“

Regular Expression Resources

AutoHotkey Help

Tools Built in AutoHotkey

Websites to test dynamic code

Additional Resources

Check out more AutoHotkey webinars

Sign-up for future ones here