DEV Community

Discussion on: Regex Cheat Sheet

mvoloskov profile image
Miloslav 🏳️‍🌈 🦋 Voloskov • Edited on

For me, Regex and Perl are write-only languages. I can't debug, edit or even read regex – I just rewrite it from scratch with some tool like RegExr or something. For me, a person who can memorise all that syntax is definitely a superhuman.

dystroy profile image
Denys Séguret • Edited on

Making code readable is half the job of the coder. It's also true for regexes, which means you have to look for ways to separate parts and comment your regexes (or at least name the groups).

Fortunately, you can find solutions in most languages. Here are two examples from some of my OS codes:

In Javascript:

    cmdArgRegex = miaou.lib("rex")`
            ([a-z ]*)                        // options (optional)
            (-?\d*\s*d\s*[\d+-]+)            // left rolldef (mandatory)
            (?:                              // inequation (optional)
                    ([<>=]+)                 // operator
                    ([\w+-]+)                // right rolldef or scalar

(I think there are JS libs to do that without taking my code, now)

In rust:

        static ref RE: Regex = Regex::new(

(this is the standard way in this language)