Python Upper and Lowercase Criteria in String Regex

16,592

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)')
Share:
16,592
Ajax1234
Author by

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, 2022

Comments

  • Ajax1234
    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?