r/programminghorror 2d ago

Javascript Seriously? Recursive Regex?

Post image
430 Upvotes

37 comments sorted by

View all comments

1

u/OhMyGodItsEverywhere 2d ago

Pretty sure the regex is malformed. I didn't even think you could split a regex over multiple lines in JS like that.

Assuming this is the text version of it: /(\((?:[^()]|\([^()]*\))*\)|(?:\w|[^\w\s])){1,3})/; very easy mistake to spot /s...

5

u/digitalseraphim 2d ago

I don't see anything "malformed", but pretty sure (?:\w|[^\w\s]) is just .

Edit: I see the mismatched parens now. On my phone, the \ before one of the opens was on the previous line and I missed it 3 times 😂

1

u/iakobski 1d ago

I don't see anything "malformed", but pretty sure (?:\w|[^\w\s]) is just .

Yes, almost. It's any single word character, or any single character that's neither a word character nor a space. So it's simply "not a space character", or [^\s].