2012-03-04 4 views
0

У меня есть текстовое поле, и я бы хотел проверить его текст со следующим регулярным выражением:^([A-Z0-9] {1,40}) $.Регулярное выражение для буквенно-цифрового значения в верхнем регистре

Таким образом, это регулярное выражение принимает только прописные и заглавные буквы и цифры длиной не более 40.

Но пользователь может ввести буквы полей (строчные или прописные), цифры и пробелы. Перед тем как подтверждения выше регулярное выражение, я хочу, чтобы выполнить замену:

для непечатаемых я использую:

  • fromVale: "\ S" -> это будет искать все пробелам
  • toValue: "" - > замените его на 0 знака длины

Но как я могу искать в алфавитно-цифровой строке только символы (символы) и заменять их на верхний регистр? В этом случае, что будет от ценности и ценности? Стараюсь:

  • fromVale: "\ ш" -> это будет искать все письмо
  • toValue: "\ U" -> сделать верхнийРЕГИСТР

, но это не работает ...

Примеры допустимых значений: aaa11c1BB222cc -> после замены: aAA11C1BB222CC

Спасибо, Madik

+1

какой язык вы используете? добавьте это в свои теги, пожалуйста. – rodneyrehm

+0

Я думаю, что это не имеет отношения к вопросу. Если я напишу правильное правило, это будет работа на всех языках программирования высокого уровня ... – madik

+0

@madik, когда дело доходит до регулярных выражений, которые так не верны, я боюсь. –

ответ

0

Вы должны сказать ему, что делается в верхнем регистре:

From: \w 
To: \U\0 

Это говорит, чтобы сделать нулевую группу (т.е. весь матч) прописные

+0

Что-то пошло не так: Струна: Wetw1111we22 Замена fromValue: \ w, toValue: \ U \ 0 replacementString: U0U0U0U0U0U0U0U0U0U0U0U0 – madik

+0

Ох, я получаю проблему. Собственный метод замены принимает первый аргумент выражения регулярного выражения и заменяет соответствие (es) на строку, указанную как второй параметр, а не на другое регулярное выражение ... – madik

+0

Все зависит от того, какой инструмент вы используете. Каждый инструмент имеет свой собственный способ выражения как «верхний регистр», так и «нулевой группы». Вы можете попробовать '\ u' вместо' \ U' и '$ 0' вместо' \ 0'. – Bohemian