我想要一个c#regex来确定一个字符串是否在定义的序列中包含5个以上的字符。
示例:如果序列是字母表,那么'ghijk'将为true,而'lmn'将为false。
编辑:序列需要按顺序排列。从上面的例子'ghijz'将返回false。
答案 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)
如果序列需要按顺序排列,那么使用正则表达式无法完成您要查找的内容。正则表达式只能对字符执行模式匹配,并且不能在序列上放置含义(例如排序)。