Предположим, что если ваш массив состоит из следующих значений
int[] x = new int[] { 2, 2, 2, 2, 2 };
, то как вы можете найти максимальное значение, используя i++
внутри блока if
. Вы застрянете в бесконечном цикле.
(?! 0+ $), предварительная директива.?! отрицательная предварительная команда должна искать 1 или более 0 в конец строки. Если это соответствует, то символы используются, оставляя регулярный поиск цифры \d {1,19}.
Perl повышения Regexp имеет хорошее обсуждение жемчуга regexp, как распознано Повышением.
Просто сделайте отрицательное предвидение:
(?!^0+$)(^\d{1,19})
Это хорошо работает в Perl.
Вам не нужен RegEx для этого
ulong test;
string number = "1234567890123456789";
if (ulong.TryParse(number, out test) && (test < 9999999999999999999ul) && (test > 0))
Console.WriteLine(test);