It's entirely possible to parse HTML in PCRE. You shouldn't, but it is possible. The language stopped being strictly regular a long time ago and is entirely capable of doing it.
Well... No new ones, at least? Though it was around that time that I started hearing whispers in the night... "You can use WASM to ship Client-Side PHP"
I learned Regex once and now it just works. Only problem for me is using MacOS so the Regex flavors aren't consistent. But once I sort that, it's smooth sailing.
Regex feels distinctly eldritch to me. Like, a lot of computing knowledge feels like magic, but regex feels like the kind of magic you get by consorting with dark forces
Named groups are nice but can I please define a group more than once because maybe I want to group my data and consolidate values in a logical way without you complaining I have already used a group previously. I know I did, I’m the one telling you, now capture it twice!
You can use backreferences \1 \2 etc. but you can also give them names explicitly.
it looks like this: (?<name>inner-regex)
Some flavors support it, kotlins doesn't apparently.
24 replies
Regex really isn't that bad when using named capture groups.
It's entirely possible to parse HTML in PCRE. You shouldn't, but it is possible. The language stopped being strictly regular a long time ago and is entirely capable of doing it.
https://stackoverflow.com/a/4234491/830741
I've once written a JS decompiler (de-bundler?) using ~150 regex for step-wise transformations. Worked surprisingly well!
What eldritch beast was summoned as a result?
Well... No new ones, at least? Though it was around that time that I started hearing whispers in the night... "You can use WASM to ship Client-Side PHP"
It’s impossible to parse the whole syntax tree, but that doesn’t mean you can’t get the subset you’re interested in.
I learned Regex once and now it just works. Only problem for me is using MacOS so the Regex flavors aren't consistent. But once I sort that, it's smooth sailing.
Regex feels distinctly eldritch to me. Like, a lot of computing knowledge feels like magic, but regex feels like the kind of magic you get by consorting with dark forces
AKA reading the manual.
Im a good christian boy thats why I refuse to read the manual
Blasphemy, that’s not regex that’s just fancy grep
I don't actually know whether POSIX grep would support named groups :o
Don't have you have to use the
-Pflag?which is just perl mode
Yes, but perl mode has more features.
I don't fully disagree but you are walking on a fine line...
any idea what the re in grep stands for?
Named groups are nice but can I please define a group more than once because maybe I want to group my data and consolidate values in a logical way without you complaining I have already used a group previously. I know I did, I’m the one telling you, now capture it twice!
Can you actually name capture groups, or this means how you can refer to them by number?
You can use backreferences
\1 \2etc. but you can also give them names explicitly.it looks like this:
(?<name>inner-regex)Some flavors support it, kotlins doesn't apparently.
TIL thanks!
In modern languages you can name them with labels as well yes. Not sure about the syntax right now. Something like (?label:...) I think
It's
(?<NAME>...)and those are the named capture groups referred to in the post.I don't see the problem. But that's probably because my goto-language is perl.