fork download
  1. somestring = "ABC deFgHij kLmN pQrS XYZ abcdEf mixedCaps mixeDCaps mIxedCaps mIxeDCaps T TT t tt"
  2. at_least_2_capitals = somestring.scan(/[A-Z][A-Z]+/)
  3. print at_least_2_capitals
  4. puts ""
  5. at_most_1_capitals = somestring.scan(/(?<![A-Z])(?!(?:[A-Z]){2,})(?:[A-Z])+/)
  6. print at_most_1_capitals
  7. puts ""
  8. at_most_2_capitals = somestring.scan(/(?<![A-Z])(?!(?:[A-Z]){3,})(?:[A-Z])+/)
  9. print at_most_2_capitals
  10. puts ""
  11. words_with_at_most_1_capitals = somestring.scan(/\b(?:\w(?:(?<![A-Z])|(?!(?:[A-Z]){1,})))+\b/)
  12. print words_with_at_most_1_capitals
  13. puts ""
Success #stdin #stdout 0.02s 7428KB
stdin
Standard input is empty
stdout
["ABC", "XYZ", "DC", "DC", "TT"]
["F", "H", "L", "N", "Q", "S", "E", "C", "I", "C", "I", "T"]
["F", "H", "L", "N", "Q", "S", "E", "C", "DC", "I", "C", "I", "DC", "T", "TT"]
["deFgHij", "kLmN", "pQrS", "abcdEf", "mixedCaps", "mIxedCaps", "T", "t", "tt"]