Regular expressions (or regex) are a powerful way to traverse large strings in order to find information. They rely on underlying patterns in a string's structure to work their magic. Unfortunately, simple regular expressions are unable to cope with complex patterns and symbols.