Python Upper and Lowercase Criteria in String Regex
Solution 1
Just use the IGNORECASE
flag the re
module provides:
the_list = re.compile(r'hello', flags=re.IGNORECASE)
If you want to write less, this is sufficient enough:
the_list = re.compile(r'hello', re.I)
Since re.I
is just another way of writing re.IGNORECASE
Here's the documentation for re.IGNORECASE
:
Perform case-insensitive matching; expressions like
[A-Z]
will match lowercase letters, too. This is not affected by the current locale and works for Unicode characters as expected.
Solution 2
This will ignore the case in the word you're searching for.
NOTE: re.I refers to IGNORECASE flag.
hello = re.compile(r'hello', re.I)
Solution 3
You can also do it this way.
the_list = re.compile(r'hello(?i)')
Ajax1234
I am currently a student and a Python programming enthusiast. My main computer science interests include data mining, compiler design, algorithms, web application development, and peer-to-peer technologies.
Updated on June 07, 2022Comments
-
Ajax1234 almost 2 years
I am trying to write a regular expression that scans a string and finds all instances of "hello", with both capital and lowercase letters. The problem is that while a simple
the_list = re.compile(r'hello')
would suffice for only "hello" in the string, I would like the expression to be able to find all versions of "hello" with both capitalized and lowercase letters, such as:
Hello, HELlo, hEllo, HELLO, heLLO, etc.
I have also tried:
the_list = re.compile(r'[a-z][A-Z]hello')
But no luck. Could anyone explain a better way to write this regular expression?