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:
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)
static ref RE: Regex = Regex::new(
(this is the standard way in this language)
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.