Q:

What is the use of keyword 'force' & this code snippet is not showing 'bats'

This code snippet is not showing 'bats' & moreover 'eats' is showing as 'eat' in the last? 
When I don't use '[force]' 7 'at' is showing? 
What is the use of 'force'?  
t="A fat cat doesn't eat oat but a rat eats bats." 
mo = re.findall("[force]at", t)
print(mo)
['fat', 'cat', 'eat', 'oat', 'rat', 'eat']

A:

One of places where you can find explanation of Python regular expressions is re module docs, in your case - [force]at relevant part is that [] is 

Used to indicate a set of characters.  In a set:
Characters can be listed individually, e.g. [amk] will match 'a', 'm', or 'k'. 

Therefore [force]at will match: fat, oat, rat, cat, eat.