Sponsored
Sponsored
A regular expression can be used to validate if a string is a valid number by matching patterns that define valid numbers. This pattern matches integers with optional signs, decimals, and scientific notation.
Time Complexity: O(n) due to scanning each character in the string.
Space Complexity: O(1) since we're using a fixed-size pattern.
1import re
2def isNumber(s: str) -> bool:
3 pattern = "^[\+-]?((\d+\.?|\.\d)\d*)([eE][\+-]?\d+)?$"
4 return re.match(pattern, s) is not None
5
6# Example usage
7print(isNumber("53.5e93")) # True
8print(isNumber("1a")) # False
Python's re
module makes regular expression matching straightforward. We use it to verify whether the input string fits valid numerical patterns.
This approach involves parsing the string based on its characters and their positions. By iterating through the string, the method confirms whether it forms a valid number pattern based on segment rules.
Time Complexity: O(n) where n is the length of the string.
Space Complexity: O(1) using variables to track state.
1def
This Python approach iterates through the string, ensuring all rules for a valid number are adhered to based on the position and current context of each character.