Python Regex - Get List of all Numbers in String
Python Regex - Get List of all Numbers from String
To get the list of all numbers in a String, use the regular expression '[0-9]+' with re.findall() method. [0-9] represents a regular expression to match a single digit in the string. [0-9]+ represents continuous digit sequences of any length.
numbers = re.findall('[0-9]+', str)
where str is the string in which we need to find the numbers. re.findall() returns list of strings that are matched with the regular expression.
Examples
1. Get the list of all numbers in a string
In the following example, we will take a string, We live at 9-162 Malibeu. My phone number is 666688888.
, and find all the numbers, ['9', '162', '666688888']
, present in the string.
Python Program
import re
str = 'We live at 9-162 Malibeu. My phone number is 666688888.'
#search using regex
x = re.findall('[0-9]+', str)
print(x)
Output
['9', '162', '666688888']
2. Get the list of all continuous digits in a String
In the following example, we will take a string, We four guys, live at 2nd street of Malibeu. I had a cash of $248 in my pocket. I got a ticket with serial number 88796451-52.
, and find all the numbers, ['2', '248', '88796451', '52']
, present in the string.
Python Program
import re
str = 'We four guys, live at 2nd street of Malibeu. I had a cash of $248 in my pocket. I got a ticket with serial number 88796451-52.'
#search using regex
x = re.findall('[0-9]+', str)
print(x)
Output
['2', '248', '88796451', '52']
Summary
In this tutorial of Python Examples, we learned how to get all the numbers from a string as a list, using Python Regular Expressions, with the help of example programs.