问题是可能的字符串是: ABCDEFGHIJKLMNOPQRSTUVWXYZ (排序)
我还有另外一个字符串可以找到像:adef
检查所有指定字符是否都在字符串中的正则表达式是什么?
测试用例: string:amnosxy 找到字符:osy 结果:是的
字符串:amnosxy 找到字符:anz 结果:false(找不到z。)
它看起来像containsAll方法
要检查的正则表达式是什么? (有可能使它在dinamically取决于查找字符串)。
我不喜欢每个字符的循环解决方案并检查IndexOf ..
答案 0 :(得分:7)
无需使用正则表达式:
bool containsAll = !"osy".Except("amnosxy").Any();
另一种有效的方法是使用HashSet<char>
及其IsSubsetOf
方法:
HashSet<char> chars = new HashSet<char>("osy");
bool containsAll = chars.IsSubsetOf("amnosxy");
答案 1 :(得分:4)
input[x]
直到找到toFind[y]
或直到toFind[y]
大于输入[x] - &gt;这意味着没有这样的元素。
修改:替代RegEx:.*o.*s.*y.*
,所以只需将.*
放在所有这些字符之间。