RegEx匹配5个字符的序列

时间:2009-08-04 17:16:18

标签: c# regex

我想要一个c#regex来确定一个字符串是否在定义的序列中包含5个以上的字符。

示例:如果序列是字母表,那么'ghijk'将为true,而'lmn'将为false。

编辑:序列需要按顺序排列。从上面的例子'ghijz'将返回false。

4 个答案:

答案 0 :(得分:8)

您不一定需要正则表达式来完成此任务:

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

除非我想念你在这里想要完成的事情。

答案 1 :(得分:3)

[a-zA-Z]{5,}

答案 2 :(得分:2)

使用Contains()代替RegEx:

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

如果没有正则表达式,你最好还是做什么。

答案 3 :(得分:1)

如果序列需要按顺序排列,那么使用正则表达式无法完成您要查找的内容。正则表达式只能对字符执行模式匹配,并且不能在序列上放置含义(例如排序)。