Python re.fullmatch Function

The re.fullmatch function in Python's re module attempts to match a regular expression pattern to the entire string. This function is useful for validating strings where the entire string must match a specific pattern.

Table of Contents

  1. Introduction
  2. re.fullmatch Function Syntax
  3. Examples
    • Basic Usage
    • Using Groups in Patterns
    • Using Flags with re.fullmatch
    • Validating Email Addresses
  4. Real-World Use Case
  5. Conclusion

Introduction

The re.fullmatch function in Python's re module checks if the entire string matches a given regular expression pattern. If the pattern matches the entire string, it returns a match object; otherwise, it returns None. This function is particularly useful for validations where the whole string needs to adhere to a specified format.

re.fullmatch Function Syntax

Here is how you use the re.fullmatch function:

import re

match = re.fullmatch(pattern, string, flags=0)

Parameters:

  • pattern: The regular expression pattern to match.
  • string: The string to search within.
  • flags: Optional. Flags that modify the behavior of the pattern, such as re.IGNORECASE, re.MULTILINE, etc.

Returns:

  • A match object if the entire string matches the pattern, otherwise None.

Examples

Basic Usage

Here is an example of how to use the re.fullmatch function to match a pattern to the entire string.

Example

import re

# Matching a pattern to the entire string
match = re.fullmatch(r'\d+', '12345')

# Checking if a match was found
if match:
    print(f"Match found: {match.group()}")
else:
    print("No match found.")

Output:

Match found: 12345

Using Groups in Patterns

This example demonstrates how to use groups in a regular expression pattern and access them in the match object.

Example

import re

# Matching a pattern with groups to the entire string
match = re.fullmatch(r'(\d+)-(\d+)-(\d+)', '123-456-789')

# Checking if a match was found and accessing groups
if match:
    print(f"Full match: {match.group(0)}")
    print(f"Group 1: {match.group(1)}")
    print(f"Group 2: {match.group(2)}")
    print(f"Group 3: {match.group(3)}")
else:
    print("No match found.")

Output:

Full match: 123-456-789
Group 1: 123
Group 2: 456
Group 3: 789

Using Flags with re.fullmatch

This example demonstrates how to use flags with the re.fullmatch function to modify the behavior of the pattern.

Example

import re

# Matching a pattern with the IGNORECASE flag to the entire string
match = re.fullmatch(r'hello world', 'Hello World', re.IGNORECASE)

# Checking if a match was found
if match:
    print(f"Match found: {match.group()}")
else:
    print("No match found.")

Output:

Match found: Hello World

Validating Email Addresses

This example demonstrates how to validate email addresses using the re.fullmatch function.

Example

import re

# Compiling a regular expression pattern for email validation
email_pattern = re.compile(r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}

Output:

test@example.com is a valid email address.
invalid-email is not a valid email address.
user@domain.com is a valid email address.

Real-World Use Case

Validating User Input

In real-world applications, the re.fullmatch function can be used to validate user input, such as checking if a string is a valid date in a specific format.

Example

import re

def is_valid_date(date):
    pattern = r'\d{4}-\d{2}-\d{2}'  # Pattern for YYYY-MM-DD format
    match = re.fullmatch(pattern, date)
    return bool(match)

# Example usage
dates = ['2021-01-01', '01-01-2021', '2021-1-1']
for date in dates:
    if is_valid_date(date):
        print(f'{date} is a valid date.')
    else:
        print(f'{date} is not a valid date.')

Output:

2021-01-01 is a valid date.
01-01-2021 is not a valid date.
2021-1-1 is not a valid date.

Conclusion

The re.fullmatch function in Python's re module attempts to match a regular expression pattern to the entire string and returns a match object if there is a match. This function is useful for validating strings where the entire string must match a specific pattern. Proper usage of this function can enhance the accuracy and reliability of your string validations in Python.

) def is_valid_email(email): return bool(email_pattern.fullmatch(email)) # Example usage emails = ['test@example.com', 'invalid-email', 'user@domain.com'] for email in emails: if is_valid_email(email): print(f'{email} is a valid email address.') else: print(f'{email} is not a valid email address.')

Output:


Real-World Use Case

Validating User Input

In real-world applications, the re.fullmatch function can be used to validate user input, such as checking if a string is a valid date in a specific format.

Example


Output:


Conclusion

The re.fullmatch function in Python's re module attempts to match a regular expression pattern to the entire string and returns a match object if there is a match. This function is useful for validating strings where the entire string must match a specific pattern. Proper usage of this function can enhance the accuracy and reliability of your string validations in Python.

Comments

Spring Boot 3 Paid Course Published for Free
on my Java Guides YouTube Channel

Subscribe to my YouTube Channel (165K+ subscribers):
Java Guides Channel

Top 10 My Udemy Courses with Huge Discount:
Udemy Courses - Ramesh Fadatare