Регулярная последовательность из 5 символов - PullRequest
2 голосов
/ 04 августа 2009

Я бы хотел, чтобы ac # regex определял, содержит ли строка 5+ символов в определенной последовательности.

Пример. Если бы последовательность была алфавитом, то «ghijk» был бы истинным, а «lmn» - ложным.

Редактировать: последовательность должна быть в порядке.из приведенного выше примера 'ghijz' вернул бы false.

Ответы [ 4 ]

8 голосов
/ 04 августа 2009

Для этого не обязательно использовать регулярное выражение:

bool IsInSequence(string str, string sequence)
{
    return str != null && str.Length >= 5 && sequence.Contains(str);
}

Если я не пропустил то, что вы пытаетесь сделать здесь.

3 голосов
/ 04 августа 2009
[a-zA-Z]{5,}
2 голосов
/ 04 августа 2009

Используйте Contains() вместо RegEx:

string sequence = "abcdef"
bool match = ("abcdefghijklmnopqrstuvwxyz".contains(sequence) 
                                     && sequence.Length >= 5);

Вам лучше без регулярных выражений за то, что вы делаете.

1 голос
/ 04 августа 2009

Если последовательность должна быть в порядке, то то, что вы ищете, не может быть достигнуто с помощью регулярных выражений. Регулярные выражения могут выполнять сопоставление с образцом только для символов и не могут помещать значение (например, упорядочение) в последовательность.

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