### Summary

When using localized_prompts with privilege escalation in z/OS the exact prompt is not matched with the current regular expression. 

A z/OS prompt does not follow any standard you might expect , it looks like `FSUM5019 Enter the password for IBMUSER: ` therefore needing an `ansible.cfg` entry like:
```
[su_become_plugin]
localized_prompts = FSUM5019 Enter the password for IBMUSER: 
```

This issue directly relates to it and was only a partial fix implementing the `list` in this [git issue 73837](https://github.com/ansible/ansible/issues/73837). It appears to me the regular expression used in this [line: b_password_string = b_password_string + to_bytes(u' ?(:|：) ?')](https://github.com/ansible/ansible/blob/c404a9003fbfc56785d32e3f6e6ab005d0467927/lib/ansible/plugins/become/su.py#L140) is incorrect in that the regex optional group `' ?(:|：) ?'` should not have a leading space such that it should be `' ?(:|：)?'`.

With this suggested change `' ?(:|：)?'`, I can run the localized prompt as noted above and other shorter variations.

Link to test the regex:
https://regex101.com/r/LgpEXY/1
https://regex101.com/r/wAHvlr/2

I have confirmed my changes works in Ansible `v2.10` and `v2.11`, given you don't have the hardware I can also tag @liamchent from the previous [git issue 73837](https://github.com/ansible/ansible/issues/73837) to certify this.


### Issue Type

Bug Report

### Component Name

ansible.builtin.su

### Ansible Version

```console
ansible [core 2.11.1]
  config file = /Users/ddimatos/git/github/playbooks/ansible.cfg
  configured module search path = ['/Users/ddimatos/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /Users/ddimatos/.venv/3.8.3/venv/lib/python3.8/site-packages/ansible
  ansible collection location = /Users/ddimatos/.ansible/collections:/usr/share/ansible/collections
  executable location = /Users/ddimatos/.venv/3.8.3/venv/bin/ansible
  python version = 3.8.3 (tags/v3.8.3:6f8c8320e9, Jun 21 2021, 12:25:15) [Clang 11.0.0 (clang-1100.0.33.12)]
  jinja version = 2.11.2
  libyaml = False
```


### Configuration

```console
DEFAULT_BECOME_ASK_PASS(/Users/ddimatos/git/github/playbooks/ansible.cfg) = True
DEFAULT_FORKS(/Users/ddimatos/git/github/playbooks/ansible.cfg) = 25
```


### OS / Environment

z/OS 2.3

### Steps to Reproduce

<!--- Paste example playbooks or commands between quotes below -->
```yaml (paste below)
---
- hosts: zvm
  collections:
    - ibm.ibm_zos_core
  gather_facts: no
  environment: "{{ environment_vars }}"

  tasks:

    - name: Who are we locally before going to the z/OS target
      command: "echo $USER"
      delegate_to: localhost
      register: result

    - name: Who are we on the controller?
      debug:
        var: result

    - name: Who are we on the z/OS target before privilege escalation
      command: whoami
      register: result

    - name: Who are we on z/OS?
      debug:
        var: result

    - name: Who are we on the z/OS target with privilege escalation
      command: whoami
      become: yes
      become_method: su
      become_user: omvsadm
      register: result

    - name: Who did we run as
      debug:
        var: result
```


### Expected Results

I expect the second task to run with privilege escalated to user `omvsadm`. 

I expect this result:
(venv) ansible-playbook -i inventory zos-priv-escal-who-am-i.yaml
BECOME password:

PLAY [zvm] **************************************************************************************************************************************************************************

TASK [Who are we locally before going to the z/OS target] ***************************************************************************************************************************
changed: [zvm -> localhost]

TASK [Who are we on the controller?] ************************************************************************************************************************************************
ok: [zvm] => {
    "result": {
        "changed": true,
        "cmd": [
            "echo",
            "$USER"
        ],
        "delta": "0:00:00.005305",
        "end": "2021-06-21 16:05:09.311709",
        "failed": false,
        "rc": 0,
        "start": "2021-06-21 16:05:09.306404",
        "stderr": "",
        "stderr_lines": [],
        "stdout": "ddimatos",
        "stdout_lines": [
            "ddimatos"
        ]
    }
}

TASK [Who are we on the z/OS target before privilege escalation] ********************************************************************************************************************
changed: [zvm]

TASK [Who are we on z/OS?] **********************************************************************************************************************************************************
ok: [zvm] => {
    "result": {
        "changed": true,
        "cmd": [
            "whoami"
        ],
        "delta": "0:00:00.172269",
        "end": "2021-06-21 23:05:16.019954",
        "failed": false,
        "rc": 0,
        "start": "2021-06-21 23:05:15.847685",
        "stderr": "",
        "stderr_lines": [],
        "stdout": "USRT001",
        "stdout_lines": [
            "USRT001"
        ]
    }
}

TASK [Who are we on the z/OS target with privilege escalation] **********************************************************************************************************************
changed: [zvm]

TASK [Who did we run as] ************************************************************************************************************************************************************
ok: [zvm] => {
    "result": {
        "changed": true,
        "cmd": [
            "whoami"
        ],
        "delta": "0:00:02.928654",
        "end": "2021-06-21 23:05:23.135997",
        "failed": false,
        "rc": 0,
        "start": "2021-06-21 23:05:20.207343",
        "stderr": "",
        "stderr_lines": [],
        "stdout": "BPXROOT",
        "stdout_lines": [
            "BPXROOT"
        ]
    }
}

PLAY RECAP **************************************************************************************************************************************************************************
zvm                        : ok=6    changed=3    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0




### Actual Results

```console
I received a timeout error (even after I increased `timeout = 60` in `ansible.cfg`. Error received was `fatal: [zvm]: FAILED! => {"msg": "Timeout (12s) waiting for privilege escalation prompt: "}`. 


BECOME password:
PLAY [zvm] **************************************************************************************************************************************************************************

TASK [Who are we locally before going to the z/OS target] ***************************************************************************************************************************
changed: [zvm]

TASK [Who are we on the controller?] ************************************************************************************************************************************************
ok: [zvm] => {
    "result": {
        "changed": true,
        "cmd": [
            "echo",
            "$USER"
        ],
        "delta": "0:00:00.005427",
        "end": "2021-06-21 16:17:10.206437",
        "failed": false,
        "rc": 0,
        "start": "2021-06-21 16:17:10.201010",
        "stderr": "",
        "stderr_lines": [],
        "stdout": "ddimatos",
        "stdout_lines": [
            "ddimatos"
        ]
    }
}

TASK [Who are we on the z/OS target before privilege escalation] ********************************************************************************************************************
changed: [zvm]

TASK [Who are we on z/OS?] **********************************************************************************************************************************************************
ok: [zvm] => {
    "result": {
        "changed": true,
        "cmd": [
            "whoami"
        ],
        "delta": "0:00:00.121340",
        "end": "2021-06-21 23:17:16.366350",
        "failed": false,
        "rc": 0,
        "start": "2021-06-21 23:17:16.245010",
        "stderr": "",
        "stderr_lines": [],
        "stdout": "USRT001",
        "stdout_lines": [
            "USRT001"
        ]
    }
}

TASK [Who are we on the z/OS target with privilege escalation] **********************************************************************************************************************
fatal: [zvm]: FAILED! => {"msg": "Timeout (12s) waiting for privilege escalation prompt: "}

PLAY RECAP **************************************************************************************************************************************************************************
zvm                        : ok=4    changed=2    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0

ddimatos:[ ~/git/github/playbooks ]
```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = """
    name: su
    short_description: Substitute User
    description:
        - This become plugins allows your remote/login user to execute commands as another user via the su utility.
    author: ansible (@core)
    version_added: "2.8"
    options:
        become_user:
            description: User you 'become' to execute the task
            default: root
            ini:
              - section: privilege_escalation
                key: become_user
              - section: su_become_plugin
                key: user
            vars:
              - name: ansible_become_user
              - name: ansible_su_user
            env:
              - name: ANSIBLE_BECOME_USER
              - name: ANSIBLE_SU_USER