Ответ 1
Есть ли способ ограничить регулярное выражение до 100 символов С помощью регулярного выражения?
В вашем примере показано, что вы хотите захватить число из регулярного выражения, а затем использовать это число, чтобы поместить максимальную длину в другую часть, которая сопоставляется позже в регулярном выражении. Обычно это невозможно за один проход. Лучше всего иметь два отдельных регулярных выражения:
- чтобы соответствовать максимальной длине, которую вы хотели бы использовать
- который использует ранее извлеченное значение, чтобы убедиться, что его собственное совпадение не превышает указанной длины
Если вы просто хотите ограничить количество символов, сопоставляемых выражением, большинство регулярных выражений поддерживают границы с помощью фигурных скобок. Например,
\d{3}-\d{3}-\d{4}
будет соответствовать (US) телефонным номерам: ровно три цифры, затем дефис, затем ровно три цифры, затем еще один дефис, а затем ровно четыре цифры.
Аналогично, вы можете установить верхний или нижний пределы:
\d{5,10}
означает "не менее 5, но не более 10 цифр".
Обновление: ОП разъяснил, что он пытается ограничить значение, а не длину. Мой новый ответ не использует регулярные выражения для этого. Извлеките значение, затем сравните его с максимальным выбранным из параметра размера. Это гораздо меньше подвержено ошибкам.