I can't find the regex for strings containing only whitespaces or integers.
The string is an input from user on keyboard. It can contain everything but \n
(but it doesn't matter I guess), but we can focus on ASCII since it's supposed to be English sentences
Here are some examples:
OK:
'1'
'2 3'
' 3 56 '
'8888888 333'
' 039'
not OK:
'a'
'4 e'
'874 1231 88 qqqq 99'
' shf ie sh f 8'
I have this which finds the numbers:
t = [int(i) for i in re.findall(r'\b\d+\b', text)]
But I can't get the regex. My regex is currently re.match(r'(\b\d+\b)+', text)
but it doesn't work.
To get a string contains only numbers (0-9) we use a regular expression (/^[0-9]+$/) which allows only numbers.
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.
Use the test() method to check if a string contains only digits, e.g. /^[0-9]+$/. test(str) . The test method will return true if the string contains only digits and false otherwise.
You can use regular expressions to achieve this task. In order to verify that the string only contains letters, numbers, underscores and dashes, we can use the following regex: "^[A-Za-z0-9_-]*$".
>>> re.match(r'^([\s\d]+)$', text)
You need to put start (^) and end of line ($) characters in. Otherwise, the part of the string with the characters in will match, resulting in false positive matches
How about something like this
^ *\d[\d ]*$
See demo at regex101
The pattern requires at least one digit to be contained.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With