开发者

Regex to find repeating numbers

开发者 https://www.devze.com 2023-03-15 18:38 出处:网络
Can anyone help me or direct me to build a regex to validate repeating numbers eg : 1111开发者_运维技巧1111, 2222, 99999999999, etc

Can anyone help me or direct me to build a regex to validate repeating numbers

eg : 1111开发者_运维技巧1111, 2222, 99999999999, etc

It should validate for any length.


\b(\d)\1+\b

Explanation:

\b   # match word boundary
(\d) # match digit remember it
\1+  # match one or more instances of the previously matched digit
\b   # match word boundary

If 1 should also be a valid match (zero repetitions), use a * instead of the +.

If you also want to allow longer repeats (123123123) use

\b(\d+)\1+\b

If the regex should be applied to the entire string (as opposed to finding "repeat-numbers in a longer string), use start- and end-of-line anchors instead of \b:

^(\d)\1+$

Edit: How to match the exact opposite, i. e. a number where not all digits are the same (except if the entire number is simply a digit):

^(\d)(?!\1+$)\d*$

^     # Start of string
(\d)  # Match a digit
(?!   # Assert that the following doesn't match:
 \1+  # one or more repetitions of the previously matched digit
 $    # until the end of the string
)     # End of lookahead assertion
\d*   # Match zero or more digits
$     # until the end of the string


To match a number of repetitions of a single digit, you can write ([0-9])\1*.

This matches [0-9] into a group, then matches 0 or more repetions (\1) of that group.

You can write \1+ to match one or more repetitions.


Use a backreference:

(\d)\1+

Probably you want to use some sort of anchors ^(\d)\1+$ or \b(\d)\1+\b


I used this expression to give me all phone numbers that are all the same digit.

Basically, it means to give 9 repetitions of the original first repetition of a given number, which results in 10 of the same number in a row.

([0-9])\1{9}


(\d)\1+? matches any digit repeating


you can get repeted text or numbers easily by backreference take a look on following example:

Regex to find repeating numbers

this code simply means whatever the pattern inside [] . ([inside pattern]) the \1 will go finding same as inside pattern forward to that.

0

精彩评论

暂无评论...
验证码 换一张
取 消