- Published on

# Regex for one or more positive digits number

A digit is a numerical symbol used in mathematical notation to represent a number. In the decimal number system, which is the most common number system used in the world today, there are ten positive digits- 0, 1, 2, 3, 4, 5, 6, 7, 8, and 9. These positive digits are used to represent all possible numbers, including integers (whole numbers), fractions, and decimals. In this article let's understand how we can create a regex for digit/number and how regex can be matched for a given digit/number.

Regex (short for regular expression) is a powerful tool used for searching and manipulating text. It is composed of a sequence of digit/numbers that define a search pattern. Regex can be used to find patterns in large amounts of text, validate user input, and manipulate strings. It is widely used in programming languages, text editors, and command line tools.

# Structure of positive digits/numbers

The digit/number should have the following criteria and structure-

- value of a digit should be - 0, 1, 2, 3, 4, 5, 6, 7, 8, and 9.
- it should contain one or more positive digits/numbers.

# Regex for checking if one or more positive digits/number is valid or not

Regular Expression for digit/number-

```
/^\+?\d+$/gm
```

Test string examples for the above regex-

Input String | Match Output |
---|---|

-20 | does not match |

12 | does not match |

0 | matches |

+356 | matches |

345 | matches |

Here is a detailed explanation of the above regex-

```
/^\+?\d+$/gm
^ asserts position at start of a line
\+ matches the character + with index 4310 (2B16 or 538) literally (case sensitive)
? matches the previous token between zero and one times, as many times as possible, giving back as needed (greedy)
\d matches a digit (equivalent to [0-9])
+ matches the previous token between one and unlimited times, as many times as possible, giving back as needed (greedy)
$ asserts position at the end of a line
Global pattern flags
g modifier: global. All matches (don't return after first match)
m modifier: multi line. Causes ^ and $ to match the begin/end of each line (not only begin/end of string)
```

Hope this article was useful to check if the string is a valid single positive digits/numbers or not.