Я использую следующее регулярное выражение для своего java-кода.Использование регулярного выражения для проверки пароля
^.*(?=.{6,20})(?=.*[a-z].*[a-z])(?=.*[A-Z])(?=.*[0-9]).*$
Когда я пытаюсь использовать то же самое в XML, как
^.\*(\?=.{6,20})(\?=.\*[a-z].\*[a-z])(\?=.\*[A-Z])(\?=.\*[0-9]).\*$
Это не работает. Он показывает исключение, как показано ниже.
java.lang.IllegalArgumentException: CVC-шаблон действует: Значение 'narendra1A' не фасет-действительный в отношении шаблона «^ * (\ = {6,20}?.). (\? =. * [az]. * [az]) (\? =. * [AZ]) (\? =. * [0-9]). * $ 'для типа ' #AnonType_passwordcreateUser '.
Может ли кто-нибудь помочь в этом отношении.
Спасибо,
нарендра
Не связанный с вопросом, но вы должны удалить первый `. *` Сразу после `^`. Это необязательно и делает ваше регулярное выражение очень неэффективным. Кроме того, если вы считаете, что ограничиваете длину пароля 6-20 символами, это не так. Строка из 100 символов будет передавать это регулярное выражение просто отлично. – 2010-12-08 11:01:42
Почему существует верхний предел в 20 символов? – Gumbo 2010-12-08 11:02:03