4 ms·
-> start_of_line -> literal('Flippers') -> literal(':') -> optional -> whitespace_char -> end -> remembe
by wruza 5y ago
-> start_of_line
-> literal('Flippers')
-> literal(':')
-> optional
-> whitespace_char
-> end
-> remember
-> multiple
-> digit;
I literally can’t parse this as a whole. /^Flippers:\s?(\d+)/ is so much more obvious compared to that utter nonsense.
- balabaster 5y agoYour long-hand isn't quite the same as your regex...it should be remember -> one_or_more -> digit; In regex parlance, \d+ explicitly allows for one or more digits. Multiple tacitly implies 2 or more which would be \d{2,} Also, your end char (which I assume you mean $) would be after the remember -> one_or_more -> digit;
- wruza 5y agoI didn’t refer to the manual (which is the entire goal of that format, isn’t it?) and don’t know what ‘multiple’ really means. So I stand both corrected and confirmed, I guess. That ‘end’ thing just closes the ‘optional’ group, I believe. There is no $ in an English form of this regex either.
- PennRobotics 5y agoLike most code, it's easier to write regex than to read it later. In my recent vim history: /(\([^()]\|\n\)*\n\([^()]\|\n\)*) This was from two days ago. I think I was searching a huge sheet of regex match groups for any having line breaks to join. In a month, I'm not even sure I would recognize that I had authored this.
- wruza 5y agoSo what. That was a problem you had to solve, imagine how helpless you’d feel if you had it with no regex available. Matching non-parenthesis or newline for two lines (prefix and suffix unrestricted) it is. Idk if it took half an hour or more to implement that in python, js or (god forbid) a low level language. You probably made it in less than a minute. And nobody would take their time to read a page of .substr(i, -(j-i)-1) two days later either.
- jazzyjackson 5y agonot every solution has to be reusable