suppressPackageStartupMessages(library("tidyverse"))
package 㤼㸱tidyverse㤼㸲 was built under R version 3.6.3

1. Find all words that come after a “number” like “one”, “two”, “three” etc. Pull out both the number and the word.

numword <- "\\b(one|two|three|four|five|six|seven|eight|nine|ten) +(\\w+)"
sentences[str_detect(sentences, numword)] %>%
  str_extract(numword)
 [1] "seven books"   "two met"       "two factors"   "three lists"   "seven is"     
 [6] "two when"      "ten inches"    "one war"       "one button"    "six minutes"  
[11] "ten years"     "two shares"    "two distinct"  "five cents"    "two pins"     
[16] "five robins"   "four kinds"    "three story"   "three inches"  "six comes"    
[21] "three batches" "two leaves"   

2. Find all contractions. Separate out the pieces before and after the apostrophe.

This is done in two steps. First, identify the contractions. Second, split the string on the contraction.

contraction <- "([A-Za-z]+)'([A-Za-z]+)"
sentences[str_detect(sentences, contraction)] %>%
  str_extract(contraction) %>%
  str_split("'")
[[1]]
[1] "It" "s" 

[[2]]
[1] "man" "s"  

[[3]]
[1] "don" "t"  

[[4]]
[1] "store" "s"    

[[5]]
[1] "workmen" "s"      

[[6]]
[1] "Let" "s"  

[[7]]
[1] "sun" "s"  

[[8]]
[1] "child" "s"    

[[9]]
[1] "king" "s"   

[[10]]
[1] "It" "s" 

[[11]]
[1] "don" "t"  

[[12]]
[1] "queen" "s"    

[[13]]
[1] "don" "t"  

[[14]]
[1] "pirate" "s"     

[[15]]
[1] "neighbor" "s"       
LS0tDQp0aXRsZTogIkdyb3VwZWQgbWF0Y2hlcyINCm91dHB1dDogDQogIGh0bWxfbm90ZWJvb2s6DQogICAgdG9jOiB0cnVlDQogICAgdG9jX2Zsb2F0OiB0cnVlDQotLS0NCg0KYGBge3J9DQpzdXBwcmVzc1BhY2thZ2VTdGFydHVwTWVzc2FnZXMobGlicmFyeSgidGlkeXZlcnNlIikpDQpgYGANCg0KIyMjIDEuIEZpbmQgYWxsIHdvcmRzIHRoYXQgY29tZSBhZnRlciBhIOKAnG51bWJlcuKAnSBsaWtlIOKAnG9uZeKAnSwg4oCcdHdv4oCdLCDigJx0aHJlZeKAnSBldGMuIFB1bGwgb3V0IGJvdGggdGhlIG51bWJlciBhbmQgdGhlIHdvcmQuDQoNCmBgYHtyfQ0KbnVtd29yZCA8LSAiXFxiKG9uZXx0d298dGhyZWV8Zm91cnxmaXZlfHNpeHxzZXZlbnxlaWdodHxuaW5lfHRlbikgKyhcXHcrKSINCnNlbnRlbmNlc1tzdHJfZGV0ZWN0KHNlbnRlbmNlcywgbnVtd29yZCldICU+JQ0KICBzdHJfZXh0cmFjdChudW13b3JkKQ0KYGBgDQoNCiMjIyAyLiBGaW5kIGFsbCBjb250cmFjdGlvbnMuIFNlcGFyYXRlIG91dCB0aGUgcGllY2VzIGJlZm9yZSBhbmQgYWZ0ZXIgdGhlIGFwb3N0cm9waGUuDQoNClRoaXMgaXMgZG9uZSBpbiB0d28gc3RlcHMuIEZpcnN0LCBpZGVudGlmeSB0aGUgY29udHJhY3Rpb25zLiBTZWNvbmQsIHNwbGl0IHRoZSBzdHJpbmcgb24gdGhlIGNvbnRyYWN0aW9uLg0KDQpgYGB7cn0NCmNvbnRyYWN0aW9uIDwtICIoW0EtWmEtel0rKScoW0EtWmEtel0rKSINCnNlbnRlbmNlc1tzdHJfZGV0ZWN0KHNlbnRlbmNlcywgY29udHJhY3Rpb24pXSAlPiUNCiAgc3RyX2V4dHJhY3QoY29udHJhY3Rpb24pICU+JQ0KICBzdHJfc3BsaXQoIiciKQ0KYGBgDQo=