Regexes are powerful, useful and needlessly hard to use.<p>But not because of the regex idea itself.<p>It is quoting.<p>The reason people don't properly learn how to use a regex is because they are insulated from it by whatever language they are using.<p>It's literally like those surgeons who do heart surgery starting at a vein in your leg.<p>I use regexes all the time, in emacs, python, perl, bash, sed, awk, grep and more...<p>and just about every time the regex syntax is mixed with single quotes, double quotes, backslashes, $variable names and more from the "enclosing language or tool".<p>If I have a parenthesis or $, I'm always wondering if it is part of the enclosing language, or the matching pattern, or the literal. Also, the kind of regex adds to the confusion (basic or extended regex?)<p>I think it would be nice to have a syntax highlighter that would help with this, independent of language. green for variable or other language construct, red for regex pattern, white for matching literal.