Подтвердить что ты не робот

Как совместить только строки, которые не содержат точки (с использованием регулярных выражений)

Я пытаюсь найти регулярное выражение, которое соответствует только строкам, если они не содержат точки, например. он соответствует stackoverflow, 42abc47 или a-bc-31_4, но не соответствует: .swp, stackoverflow или test..

4b9b3361

Ответ 1

^[^.]*$

или

^[^.]+$

В зависимости от того, хотите ли вы совместить пустую строку. Некоторые приложения могут неявно снабжать ^ и $, и в этом случае они не нужны. Например: атрибут HTML5 input pattern.

Вы можете найти гораздо более подробную информацию на сайте regular-expressions.info.

Ответ 2

Используйте регулярное выражение, которое не имеет точек:

^[^.]*$

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

Кстати, вам не нужно использовать регулярное выражение. В java вы можете сказать:

!someString.contains(".");

Ответ 3

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

//Используемая строка ввода           string input = "1A_aaA";

        // The regular expression we use to match
        Regex r1 = new Regex("^[A-Za-z][^.]*$"); //[\t\0x0020] tab and spaces.

        // Match the input and write results
        Match match = r1.Match(input);
        if (match.Success)
        {
            Console.WriteLine("Valid: {0}", match.Value);

        }
        else
        {
            Console.WriteLine("Not Match");
        }