Выражение Regex только цифры и символы - PullRequest
2 голосов
/ 26 января 2012

Я создал следующее выражение регулярного выражения для моего файла C #. Кстати, я хочу, чтобы пользовательский ввод состоял только из обычных символов (A-Z ниже или выше) и цифр. (пробелы или символы).

[A-Za-Z0-9]

По какой-то причине он терпит неудачу только тогда, когда его символ сам по себе. если с ним смешаны символы, выражение передается.

Я могу показать вам свой код, как я это делаю, но я думаю, что это мое выражение.

Спасибо!

Ответы [ 4 ]

6 голосов
/ 26 января 2012

Проблема в том, что он может соответствовать везде .Вам нужны анкеры:

^[a-zA-Z0-9]+$
3 голосов
/ 26 января 2012

Это потому, что он будет соответствовать любому символу в строке, вам нужно следующее.Заставляет его соответствовать всей строке, а не только ее части

^[0-9a-zA-Z]*$
2 голосов
/ 26 января 2012

Это регулярное выражение будет соответствовать каждому буквенно-цифровому символу в строке как отдельные совпадения.

Если вы хотите убедиться, что вся введенная пользователем строка содержит только буквенно-цифровые символы, вам нужно сделать что-то вроде:

^[a-zA-Z0-9]+$
1 голос
/ 26 января 2012

Вы проверяете всю строку?То есть вы используете выражение типа ^[a-zA-Z0-9]*$, где ^ означает начало строки, а $ означает конец строки?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...