The most occurring number in a string using Regex in python

In this tutorial, we will write a regex that finds the most occurring number in a string using Python. We'll use the re module for pattern matching and collections.Counter for frequency counting.

Steps to Find the Most Occurring Number

  • Import the re and collections modules
  • Initialize the string containing numbers
  • Find all numbers using regex and store them in a list
  • Find the most occurring number using Counter from collections module

Example

Here's how to implement this solution ?

# importing the modules
import re
import collections

# initializing the string
string = '1222tutorials321232point3442'

# regex to find all the numbers
regex = r'[0-9]'

# getting all the numbers from the string
numbers = re.findall(regex, string)
print("All numbers found:", numbers)

# counter object
counter = collections.Counter(numbers)
print("Number frequencies:", counter)

# finding the most occurring number
most_common = counter.most_common(1)
if most_common:
    most_occurring_number = most_common[0][0]
    frequency = most_common[0][1]
    print(f"Most occurring number: {most_occurring_number} (appears {frequency} times)")
else:
    print("No numbers found")

Output

The output of the above code is ?

All numbers found: ['1', '2', '2', '2', '3', '2', '1', '2', '3', '2', '3', '4', '4', '2']
Number frequencies: Counter({'2': 7, '3': 3, '1': 2, '4': 2})
Most occurring number: 2 (appears 7 times)

Alternative Approach Using Manual Counting

You can also find the most frequent number manually ?

import re

string = '1222tutorials321232point3442'
numbers = re.findall(r'[0-9]', string)

# manual frequency counting
frequency = {}
for num in numbers:
    frequency[num] = frequency.get(num, 0) + 1

# finding maximum frequency
max_count = max(frequency.values())
most_occurring = [num for num, count in frequency.items() if count == max_count]

print(f"Most occurring number(s): {most_occurring} with frequency {max_count}")
Most occurring number(s): ['2'] with frequency 7

How the Regex Works

The regex pattern [0-9] matches any single digit from 0 to 9. The re.findall() function returns all non-overlapping matches as a list of strings.

Conclusion

Using regex with Counter.most_common() is the most efficient way to find the most occurring digit in a string. This approach combines pattern matching with built-in frequency counting for clean, readable code.

Updated on: 2026-03-25T09:06:14+05:30

285 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements