я в настоящее время этот RegularExpressionValidator бегущегоТранслейтинг RegEx из PHP в Asp.Net RegularExpressionValidator
<asp:RegularExpressionValidator ID="rev_Nachname" runat="server" ControlToValidate="edtNachname"
Display="None" ErrorMessage="$InvalidBeginOfStringNonTechnik$Nachname$2" ValidationExpression="^[a-zA-ZÆÄÜÖáâãäåæçèéêëìíîïñòóôõöøùúûüß0-9'-]{2}.*"></asp:RegularExpressionValidator>
У меня есть требование прямо сейчас, чтобы изменить его в Unicode - латинский и создал следующие RegEx для PHP:
^[\p{Latin}+\p{M}*+0-9'-]{2,}
После изменения регулярного выражения и развертывания сайта, о котором идет речь, приложение просто запустится в таймаут, если я открою сайт, на котором я изменил Regex. Если я полностью отменил все изменения.
Поскольку я не получаю никаких ошибок, я в темноте, но думаю, что ASP не может справиться с моим RegEx. Есть ли что-то очевидное, почему оно не работает?
Спасибо заранее!
Является ли регулярное выражение только на стороне сервера? Какие точные диапазоны Юникода и символы, которые необходимо сопоставить? Регулярное выражение '^ [\ p {Latin} + \ p {M} * + 0-9 '-] {2,}' соответствует двум или более символам, латинским, плюс, диакритическим, звездочкам, цифрам, апострофе или дефису. –
Мне нужно сопоставить каждое письмо, которое перечислено здесь: http://xoev.de/latinchars/1_1/latinchars.pdf , а также 0-9, ', - Это \ p {M} * + принято отсюда: http://www.regular-expressions.info/unicode.html Часть: Unicode Категории Похоже, что Regexvalidator не нравится \ p {Latin} – user1021605
. Каков диапазон базовой латиницы ? Это всего лишь печатная версия ASCII? Попробуйте '[- ~]' совместить любой символ ASCII. Опять же, регулярное выражение выполняется на сервере или клиенте или и то, и другое? Дело в том, что '\ p' и' * + 'не поддерживаются механизмом регулярных выражений. –