UPDATE:
I've managed to resolve this. But to do it was very convoluted. I had to add 4 new Textboxes (Because for some reason you can't hide checkboxes with a format rule) with default values of FALSE. Each Textbox represented the different things I was looking for i.e. Uppercase letter, Lowercase letter, Digit and Special character. I then had to create multiple rules on the text input that would check for the existence of a letter so the rules where grouped A-E (As you can only have 5 conditions per rule) F-J, K-0 etc and each one would if the letter was missing set the value of the Textbox called "UppercaseIsPresent" to "TRUE".
Let me flesh that out a bit the first rule checked for 5 separate letters.
Password does not contain "A" or
Password does not contain "B" or
Password does not contain "C" or
Password does not contain "D" or
Password does not contain "E"
Action:
UppercaseIsPresent value = TRUE
So I had to do that for all uppercase letters and all lowercase letter and all numbers and all the symbols. Not a pretty solution but it does work ok. The only additional issue I came up with was hiding the controls on the page because when the textbox control was updated with a new value it became visible again on the page. So I added format rules to say if the Textbox was equal to True or the Textbox was equal to false then the format was Hidden.
This was so frustrating and unnecessarily difficult I would have though that there would have been some basic string search functionality