2016-08-20 1 views
-2

У меня есть регулярное выражение для проверки строки, но оно не принимает точки с запятой? Это потому, что я должен использовать некоторые escape-последовательности? Я проверил мое регулярное выражение here, и оно проходит. I.e позволяет использовать двоеточие, но не разрешает в моем приложении C#.Регулярное выражение для ползания

EDITED Я следующее регулярное выражение

^[A-Za-z0-9]{1}[A-Za-z.&0-9\s\\-]{0,21}$ 

И попытался проверки sar232 trading inc;

+0

Добро пожаловать в переполнение стека! Пройдите [тур] (http://stackoverflow.com/tour), [справочный центр] (http://stackoverflow.com/help) и [как задать хороший вопрос] (http: // stackoverflow.com/help/how-to-ask), чтобы увидеть, как работает этот сайт, и помочь вам улучшить ваши текущие и будущие вопросы, которые помогут вам получить более качественные ответы. –

+1

Мы не собираемся ехать куда-нибудь еще, чтобы понять, о чем вы спрашиваете. Соответствующая информация должна быть ** здесь **, в самом вопросе. Если это вне сайта, и что по какой-либо причине недоступно местоположение вне сайта (off-line, перемещено или что-то еще), ваш вопрос имеет нулевое значение для будущих читателей. Пожалуйста, [edit] включить образцы текста, которые должны (и не должны) совпадать, и регулярное выражение, которое вы используете (и код, который пытается его использовать), который не работает здесь в вашем вопросе. –

+0

('{1}' является излишним.) – Biffen

ответ

5

& сущность намекает на то, у вас есть это регулярное выражение внутри некоторого атрибута XML, и что это & получает синтаксический анализ один символ &, когда шаблон отправляется в механизм регулярных выражений.

Это означает, что в вашем шаблоне не хватает полуколонии внутри второго класса символов, и поэтому ваше регулярное выражение не соответствует строке, которую вы предоставили.

Решение простое: добавить точку с запятой для 2-го класса персонажа:

someattr="^[A-Za-z0-9][;A-Za-z.&0-9\s\\-]{0,21}$" 
        ^

Смотрите regex demo

Пожалуйста, обратите внимание, что {1} ограничение квантор является излишним поскольку [A-Za-z0-9] уже соответствует только 1 из указанных диапазонов.

Смежные вопросы