Регулярное выражение — Начинается с 3538 и затем содержит 8 цифр

#regex

#регулярное выражение

Вопрос:

Например. соответствует 353812345678, пока у меня есть ^3538{1} [d]{8}, который работает, но не ограничивает длину. Как мне убедиться, что длина не превышает 12 цифр?

Комментарии:

1. Имейте в виду, что это будет соответствовать, если, например, строка содержит только 353812345678 , но она не будет соответствовать 353812345678 abc (что действительно, насколько я могу понять).

Ответ №1:

Если вы хотите, чтобы число было единственным в строке: ^3538d{8}$

Если вам просто нужно число в строке: b3538d{8}b

^ является привязкой к началу строки, в то время как $ является привязкой к концу строки, поэтому первая привязка ограничивает число единственным значением в строке.

В другом, b означает границу слова, так что это просто означает, что никакие другие буквы или цифры не могут располагаться непосредственно перед или после числа.

Также, обратите внимание, что в вашем исходном регулярном выражении {1} является избыточным и [d] означает то же самое, что и d .

Ответ №2:

^3538{1}[d]{8}[^d] гарантирует, что у вас будет 3538, за которым следуют 8 цифр и что-то, что НЕ является цифрой — таким образом, ограничивая длину.

Ответ №3:

Добавьте знак доллара ($) в конце регулярного выражения: ^3538{1}[d]{8}$