Spyke
suppo.fi

Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems.

75
qazreply
lemmy.world

Regex really isn't that bad when using named capture groups.

26
suppo.fi

Oh yeah they definitely have uses, but there's a real tendency for people to go a bit crazy with them. Complex regexen aren't exactly readable, there's all kinds of fun performance gotchas, there's sometimes other tools/algorithms that are more suitable for the task, and sometimes people try to use them to eg. parse HTML because they don't know that it is literally impossible to use regular expressions to parse languages that aren't regular

17

Oh yeah, extensions which make them non-regular definitely can make it possible, but just because it's now somewhat possible with some regex engines doesn't mean it's a good idea

7
lemmy.world

I've once written a JS decompiler (de-bundler?) using ~150 regex for step-wise transformations. Worked surprisingly well!

5
Azzk1krreply
feddit.nl

What eldritch beast was summoned as a result?

4

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"

2

it is literally impossible to use regular expressions to parse languages that aren’t regular

It’s impossible to parse the whole syntax tree, but that doesn’t mean you can’t get the subset you’re interested in.

3

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.

2

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

46
TunaCowboyreply
lemmy.world

regex feels like the kind of magic you get by consorting with dark forces

AKA reading the manual.

43
lemmy.world

I don't actually know whether POSIX grep would support named groups :o

10
qazreply
lemmy.world

Don't have you have to use the -P flag?

1

I don't fully disagree but you are walking on a fine line...

3

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!

16
lemmy.world

Can you actually name capture groups, or this means how you can refer to them by number?

8
mormundreply
feddit.org

In modern languages you can name them with labels as well yes. Not sure about the syntax right now. Something like (?label:...) I think

1

It's (?<NAME>...) and those are the named capture groups referred to in the post.

4

I don't see the problem. But that's probably because my goto-language is perl.

7

You reached the end

Regex flavors | Spyke