regex ":[^]" not working in python re module

Question:

I have a problem in regular expression using re module

pattern = ":[^]", string = ":r", and bool(re.findall(strting, pattern)) should return True However, it returns False like the pic1

I verified this using https://regexr.com/ and it shows like the pic2. So I believe the problem is on the re module

How can i show the same result of pic2 in python

Asked By: mal mal

||

Answers:

That’s the expected behavior cause re.findall(':r', ':[^]') means find the strings that match the pattern :r in the string :[^] i.e. the first argument is the pattern and second argument is the string/text where you need to find a match.

And [^] in python regex means none of the characters that’s inside the square brackets after caret ^ symbol should match.

If you are looking to find the strings starting with : followed by any number of alphabets, following should work:

>>> re.findall(':w+',':r')
[':r']
```
Answered By: ThePyGuy
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.