Hello, 

I found a strange return with a module find and contains option, with the python regex "\Z"

https://docs.python.org/2/library/re.html
\Z -->    Matches only at the end of the string.

I need to check the result of the last string if it's OK or KO

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
module find
##### ANSIBLE VERSION
ansible 2.8.0
  config file = None
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /tmp/ansible/ansible
  executable location = ansible
  python version = 2.7.5

##### OS / ENVIRONMENT
Red Hat Enterprise Linux Server release 7.3 (Maipo)


##### STEPS TO REPRODUCE
create a file /tmp/test.log with : 

> 
> 01/01- OK
> 01/02- OK
> 01/03- KO
> 01/04- OK


playbook : 

```
 
 ---
   - name: check if last line is OK
     hosts: localhost
     become: true
 
     tasks:
       - name: check
         find:
           paths: /tmp/
           pattern: 'test.log'
           age: -30d
           age_stamp: mtime
           contains: ".*OK$\\Z" 
           use_regex: yes
 
```
 ps : i try with contains: '.*OK$\Z' same result

##### EXPECTED RESULTS
the end of last line is OK so we need to have  = return "matched": 1,
the end of last line is KO so we need to have  = return "matched": 0,

regex check --> https://regex101.com/r/hR9BB8/1


##### ACTUAL RESULTS
IF my regex is  ".*OK$" (without \Z) , I get "matched": 1 but i don't check the last line and same result if the last line is KO

output : 
`ok: [localhost] => {
    "changed": false,
    "examined": 138,
    "files": [],
    "invocation": {
        "module_args": {
            "age": "-30d",
            "age_stamp": "mtime",
            "contains": ".*FIN OK$\\Z",
            "depth": null,
            "excludes": null,
            "file_type": "file",
            "follow": false,
            "get_checksum": false,
            "hidden": false,
            "paths": [
                "/tmp/"
            ],
            "pattern": "test.log",
            "patterns": [
                "test.log"
            ],
            "recurse": false,
            "size": null,
            "use_regex": true
        }
    },
    "matched": 0,
    "msg": ""
}`

patterns:
        default: '*'
        description:
            - One or more (shell or regex) patterns, which type is controlled by C(use_regex) option.
            - The patterns restrict the list of files to be returned to those whose basenames match at
              least one of the patterns specified. Multiple patterns can be specified using a list.
            - The pattern is matched against the file base name, excluding the directory.
            - When using regexen, the pattern MUST match the ENTIRE file name, not just parts of it. So
              if you are looking to match all files ending in .default, you'd need to use '.*\.default'
              as a regexp and not just '\.default'.
            - This parameter expects a list, which can be either comma separated or YAML. If any of the
              patterns contain a comma, make sure to put them in a list to avoid splitting the patterns
              in undesirable ways.
        type: list
        aliases: [ pattern ]
        elements: str
    excludes:
        description:
            - One or more (shell or regex) patterns, which type is controlled by C(use_regex) option.
            - Items whose basenames match an C(excludes) pattern are culled from C(patterns) matches.
              Multiple patterns can be specified using a list.
        type: list
        aliases: [ exclude ]
        version_added: "2.5"
        elements: str
    contains:
        description:
            - A regular expression or pattern which should be matched against the file content.
        type: str
    paths: