CodeWalrus

General => Other => Topic started by: JWinslow23 on July 21, 2017, 11:45:51 PM

Title: Regex golf
Post by: JWinslow23 on July 21, 2017, 11:45:51 PM
In honor of this xkcd comic (https://www.xkcd.com/1313/), I made these regexes.

/[ckp]e|j| t/
Matches: The subtitles of each Star Wars movie (yes, even "The Force Awakens" and "The Last Jedi")
Doesn't match: The subtitles of each Star Trek movie
Special notes: The Star Trek movie without a subtitle isn't counted, as it does not have a subtitle.

/f?i.?[ns]|h |y/
Matches: The subtitles of each Star Trek movie
Doesn't match: The subtitles of each Star Wars movie
Special notes: The Star Trek movie without a subtitle isn't counted, as it does not have a subtitle.

/[jt]o|[lm][as]|n[ae]|r.e|dr/
Matches: The last names of US Presidents who were Democrats
Doesn't match: The last names of US Presidents who were Republican
Special notes: Franklin Delano Roosevelt is rendered as "fdr".

/g|s[eh]|o[lor]|.[kpx]|^[ht]?a/
Matches: The last names of US Presidents who were Republican
Doesn't match: The last names of US Presidents who were Democrats
Special notes: Franklin Delano Roosevelt is rendered as "fdr".

Can anyone optimize these/make others?
Title: Re: Regex golf
Post by: kotu on July 24, 2017, 03:12:26 PM
BUSTED - this does not work. You are now busted.
Title: Re: Regex golf
Post by: JWinslow23 on July 24, 2017, 09:31:11 PM
Quote from: kotu on July 24, 2017, 03:12:26 PM
BUSTED - this does not work. You are now busted.
What doesn't work? And how? I have tested these with all acceptable inputs.
Title: Re: Regex golf
Post by: kotu on July 24, 2017, 09:33:39 PM
Oh ok. I guess they must work then. I stand corrected.
Title: Re: Regex golf
Post by: _iPhoenix_ on July 25, 2017, 08:50:00 PM
I have a few, will be posting in a week when I get home (on vacation :/)

I have a few challenges.
I am looking for RegEx statements that...
-accept the names of the top 5 renewable energy sources, but reject the top 5 non-renewable ones
-accept the capital cities of US states, but reject the names of the states (i.e. "Columbus" would pass, but "Ohio" would not)

I'll post more challenges as I think of 'em.
Title: Re: Regex golf
Post by: JWinslow23 on July 31, 2017, 12:16:37 AM
Top 5 renewable energy sources:
Hydropower, Biomass Wood, Biomass Waste, Biomass Biofuel, Wind
Top 5 non-renewable energy sources:
Coal, Petroleum, Natural Gas, Nuclear Energy, Fossil Fuels

Match non-renewable but not renewable:
/c|[ms]$/

Match renewable but not non-renewable:
/b|w/

And here's a badly-done regex golf of the states/capitals problem.

Match states but not their capitals:
/[aio].a.{0,3}$|^[gku-w]|^m[ai][^d]|^[npt][e]|^[or]\
|i(cu|fo|no)/[/tt]

Match capitals but not their states:
TBD