Last modified: Mar 03, 2025 By Alexander Williams

Fix Python NameError: Name 're' Not Defined

If you're working with Python and encounter the error NameError: Name 're' Not Defined, don't worry. This error is common and easy to fix. Let's dive into what causes it and how to resolve it.

What Causes the NameError: Name 're' Not Defined?

The error occurs when you try to use the re module without importing it first. The re module is part of Python's standard library and is used for working with regular expressions.

For example, if you write the following code:


    # Example of incorrect code
    pattern = re.compile(r'\d+')
    

You will get the error:


    NameError: name 're' is not defined
    

This happens because Python doesn't recognize re as a defined name in your script.

How to Fix the NameError: Name 're' Not Defined

To fix this error, you need to import the re module at the beginning of your script. Here's how you can do it:


    # Correct code with import statement
    import re

    pattern = re.compile(r'\d+')
    

By adding import re, Python now knows where to find the re module, and the error will be resolved.

Common Mistakes to Avoid

Sometimes, even after importing the module, you might still encounter the error. Here are some common mistakes to avoid:

  • Misspelling the module name: Ensure you type import re correctly.
  • Importing inside a function: If you import re inside a function, it won't be available outside that function.
  • Using the wrong scope: Make sure the import statement is at the top of your script or in the correct scope.

Example: Using the re Module

Here's a complete example of how to use the re module to search for a pattern in a string:


    import re

    # Define a string
    text = "The price is 100 dollars."

    # Define a pattern to search for digits
    pattern = re.compile(r'\d+')

    # Search for the pattern in the text
    match = pattern.search(text)

    if match:
        print("Found:", match.group())
    else:
        print("No match found.")
    

When you run this code, the output will be:


    Found: 100
    

Related Errors

If you encounter similar errors with other modules, such as time, random, or math, the solution is the same. You need to import the module before using it. For more details, check out our guides on Fix Python NameError: Name 'time' Not Defined and Fix Python NameError: Name 'random' Not Defined.

Conclusion

The NameError: Name 're' Not Defined is a common issue in Python, but it's easy to fix. Always remember to import the re module before using it. By following the steps outlined in this article, you can avoid this error and work with regular expressions seamlessly.