Regex для буквенно-цифровой строки - не все нули [дубликаты]

Это означает, что вы пытаетесь манипулировать тем, что имеет ссылку, но еще не инициализировано. Первое, что нужно сделать, это проверить каждый созданный экземпляр. Используйте контрольные точки, часы, проверяйте свои значения varibale. Следить за трассировкой стека и искать точные строки и столбцы, которые создают проблему

4
задан RHarris 7 March 2012 в 23:46
поделиться

6 ответов

Просто у вас есть негативный взгляд, чтобы отключить все 0s:

/^(?!0{6})[A-Z0-9][0-9]{5}$/
16
ответ дан anubhava 27 August 2018 в 00:25
поделиться

Что делать, если вы сначала проверили все случаи нулей, а затем, определив, что все нули применяют ваше регулярное выражение?

if ( NOT ALL ZEROS)
    APPLY REGEX
1
ответ дан esroberts 27 August 2018 в 00:25
поделиться

Я бы сделал два прохода. Один с вашим первым регулярным выражением и один с новым регулярным выражением, который ищет все нули.

1
ответ дан jmosbech 27 August 2018 в 00:25
поделиться

Я думаю, это будет сделано. Он проверяет не 000000 и ваше исходное регулярное выражение.

(?!0{6})^[A-Z0-9][0-9]{5}$
0
ответ дан JohnColvin 27 August 2018 в 00:25
поделиться

(?!000000)[A-Z0-9][0-9]{5}, если lookahead в порядке.

0
ответ дан Superbest 27 August 2018 в 00:25
поделиться

Вы можете использовать отрицательный look_head (?!0+$), чтобы избежать совпадения строки, содержащей только 1 или более нулей:

/^(?!0+$)[A-Z0-9][0-9]{5}$/
  ^^^^^^^

См. демонстрацию regex . Этот подход позволяет вам просто скопировать / вставить lookahead после ^ и не беспокоиться о том, сколько символов соответствует потребляющей части.

Подробности

  • ^ - начало строка
  • (?!0+$) - отрицательный результат, который не соответствует совпадению, если есть 1 или более символов 0 до конца строки ($)
  • [A-Z0-9] - прописная буква ASCII или цифра
  • [0-9]{5} - пять цифр
  • $ - конец строки.
0
ответ дан Wiktor Stribiżew 27 August 2018 в 00:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: