I too can smell the same here, Justin.
Sorry for interrupting here in between the two giants of knowledge.
However, when I tested the codes by Eugene, I found that it is searching all the numbers whether greater or lesser than 2000.
“This includes 2000
\<\d\d{3,99}
Result: It is searching for the numbers greater or equal to four digits whether it is 1000 or 1999 or 2000 etc.
This excludes 2000
(?!2000)\<\d\d{3,99}
Result: This is same, searching for the numbers greater or equal to four digits excluding 2000 only
This excludes 2000
(?![01]|2000)\<\d\d{3,99}
(?![01]|2000)\<\d\d+
Result: This code is also looking for the numbers greater or equal to four digits. But the problem with the code is that it is also ignoring the numbers if the starting digit is one for example: 15860, 192453. Although these are greater than 2000.”
Whereas the code by Justin 2\d\d[1-9]|[3-9]\d\d\d?\d+
proves to be somewhat closer to the query raised by Delfim.
but it has the same problem as listed above. It is not searching for the numbers if it is starting at one for example 123456, 15860, 192453 etc.
The code needs tweaking.