Skip to content

Instantly share code, notes, and snippets.

@jpsim
Last active August 25, 2024 04:30
Show Gist options
  • Save jpsim/8057500 to your computer and use it in GitHub Desktop.
Save jpsim/8057500 to your computer and use it in GitHub Desktop.
  1. Plain Strings (207): foo
  2. Anchors (208): k$
  3. Ranges (202): ^[a-f]*$
  4. Backrefs (201): (...).*\1
  5. Abba (169): ^(.(?!(ll|ss|mm|rr|tt|ff|cc|bb)))*$|^n|ef
  6. A man, a plan (177): ^(.)[^p].*\1$
  7. Prime (286): ^(?!(..+)\1+$)
  8. Four (199): (.)(.\1){3}
  9. Order (198): ^[^o].....?$
  10. Triples (507): (^39|^44)|(^([0369]|([147][0369]*[258])|(([258]|[147][0369]*[147])([0369]*|[258][0369]*[147])([147]|[258][0369]*[258])))*$)
  11. Glob (364): ^((\*(er|f|i|p|t|v))|(b|c(h|o|r)|do|l|mi|p(a|r|u)|re|w))
  12. Balance (286): ^(<(<(<(<(<(<<>>)*>)*>)*>)*>)*>)*$
  13. Powers (56): ^((((((((((x)\10?)\9?)\8?)\7?)\6?)\5?)\4?)\3?)\2?)\1?$

Total Score: 3060

@moon-home
Copy link

Abba (193): ^(?!.*(.)(.)\2\1)

Hi @jonathanmorley, can you enlighten me why (?!(.)(.)\2\1) matches abba? isn't it matching any string that does not have a 4 characters palindrome?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment