regex, который говорит, что строка ДОЛЖНА быть размером 9 или 11 символов. Это не могло быть ничем другим. У меня это работало для 9 или более символов, когда я это делал ((\ d {9}) | (\ d {11}) $ Это действительно, когда у меня есть 200 символов, и это не то, что я хочу ...проблемы с регулярным выражением ... делая его конкретным
ответ
Вам нужно закрепить начало тоже попробовать что-то вроде этого:.
^((\d{9})|(\d{11}))$
Кроме того, если он может быть либо 9 или 11 символов, а не только цифры, используйте:
^((.{9})|(.{11}))$
Вам также понадобится стартовый якорь (^
), либо он просто будет соответствовать 9 или 11 цифр в конце строки:
^(\d{9}|\d{11})$
Или что то же самое:
^\d{9}(\d\d)?$
И если вы просто хотите, чтобы соответствовать 9 или 11 любого характера, использование:
^.{9}(..)?$
((\d{9})|(\d{11})$
... не является допустимым регулярное выражение, потому что отсутствует скобка.
Вот исправленный регулярное выражение, которое вы, вероятно, намеревался написать в вашем вопросе:
((\d{9})|(\d{11}))$
Теперь, как на ваш вопрос, вы хотели бы ограничить количество цифр вводится только 9 или 11. Вот как это сделать:
^((\d{9})|(\d{11}))$
что мы делаем, определяющее начало и конец ^
$
выражения, так что движок регулярных выражений знает, как анализировать данные.
Если вы не определяете начало и конец, выражение по умолчанию является «жадным», поэтому оно соответствует более 9 или 11 цифрам. Поскольку вы только определили конец, он сопоставил все вхождения в начало, которое представляет собой комбинацию из 9 или 11.
Как уже указывалось, если вы хотите совместить символы, вам нужно подставить другое выражение :
^((.{9})|(.{11}))$
Если вы хотите, чтобы соответствовать цифры, буквы и символы подчеркивания, вы могли бы использовать это:
^(([A-Za-z_0-9]{9})|([A-Za-z_0-9]{11}))$
Однако, в любом случае, выражение может быть легко определен как:
^.{9,11}$
И вы бы заменить либо [A-Za-z_0-9]
или \d
в зависимости от ваших потребностей.
Дополнительные ()
, которые у вас есть вокруг вашего исходного выражения, не нужны для базового соответствия регулярному выражению. Они необходимы, если вам нужны группы захвата для замены.
- 1. Проблемы с конкретным выражением regex
- 2. Проблемы с регулярным выражением
- 3. Проблемы с регулярным выражением
- 4. Проблемы с регулярным выражением
- 5. Проблемы с регулярным выражением
- 6. Проблемы с регулярным выражением
- 7. Проблемы с регулярным выражением
- 8. Проблемы с регулярным выражением
- 9. Проблемы с регулярным выражением
- 10. Проблемы с регулярным выражением?
- 11. Notepad ++ Проблемы с регулярным выражением
- 12. Проблемы с регулярным выражением Java
- 13. Странные проблемы с регулярным выражением
- 14. Проблемы с простейшим регулярным выражением
- 15. Проблемы с регулярным выражением Python
- 16. Проблемы с регулярным выражением php
- 17. Проблемы с регулярным выражением, python
- 18. дополнения \ с регулярным выражением
- 19. Проблемы, связанные с строкой с регулярным выражением
- 20. Проблемы с регулярным выражением с ключами ресурсов
- 21. Проблемы с регулярным выражением с равным знаком?
- 22. Проблемы с регулярным выражением свойства сравнявшись {NULL}
- 23. Проблемы с регулярным выражением Javascript вокруг \ n
- 24. Проблемы с регулярным выражением и BBCode
- 25. Проблемы с регулярным выражением Java и чередованием
- 26. python - проблемы с регулярным выражением и unicode
- 27. Проблемы с регулярным выражением для перезаписи
- 28. проблемы с регулярным выражением, соответствующие шаблону
- 29. Проблемы с регулярным выражением в C#
- 30. Проблемы с регулярным выражением десятичных знаков
1) исправить опечатку 2) сообщить нам синтаксис регулярного выражения, который вы используете –