### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

The provided example does not put a message in SQS.

### Expected Behavior

The provided example puts a message in SQS.

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

The following scripts returns no items in SQS, but it should. The bit detail: foo is not matched.

```
awslocal events create-event-bus \
    --name detail-bus-1

awslocal sqs create-queue \
    --queue-name "detail-sqs-1"

awslocal events put-rule \
    --name "detail-rule-1" \
    --event-bus-name "detail-bus-1" \
    --event-pattern '{ "detail": { "foo": [ { "exists": true } ] } }'

awslocal events put-targets \
    --rule "detail-rule-1" \
    --event-bus-name "detail-bus-1" \
    --targets "Id"="detail-target-rule-1","Arn"="arn:aws:sqs:us-east-1:000000000000:detail-sqs-1","InputPath"="$.detail"

awslocal events put-events --entries '[{"DetailType": "test", "Source": "aws.test", "Detail": "{ \"foo\": \"bar\" }", "EventBusName": "detail-bus-1"}]'
awslocal sqs receive-message --queue-url http://localhost:4566/000000000000/detail-sqs-1
```

### Environment

```markdown
- OS: macOS 13.3.1
- LocalStack: 1.4.0
```


### Anything else?

_No response_
"""Convert Events schedule like "cron(0 20 * * ? *)" or "rate(5 minutes)" """
        cron_regex = r"\s*cron\s*\(([^\)]*)\)\s*"
        if re.match(cron_regex, schedule):
            cron = re.sub(cron_regex, r"\1", schedule)
            return cron
        rate_regex = r"\s*rate\s*\(([^\)]*)\)\s*"
        if re.match(rate_regex, schedule):
            rate = re.sub(rate_regex, r"\1", schedule)
            value, unit = re.split(r"\s+", rate.strip())
            value = int(value)
            if value < 1:
                raise ValueError("Rate value must be larger than 0")
            
            if value == 1 and unit.endswith("s"):
                raise ValueError("If the value is equal to 1, then the unit must be singular")
            if value > 1 and not unit.endswith("s"):
                raise ValueError("If the value is greater than 1, the unit must be plural")
            if "minute" in unit:
                return "*/%s * * * *" % value
            if "hour" in unit:
                return "0 */%s * * *" % value
            if "day" in unit:
                return "0 0 */%s * *" % value
            raise ValueError("Unable to parse events schedule expression: %s" % schedule)
        return schedule
    @staticmethod
    def put_rule_job_scheduler(