我有一个alpha-数字值的列表,需要使用“大于或等于”和/或“小于或等于”运算符搜索。
要搜索的值的示例列表:
一个
B
C
D
E
F
用户输入b,并指定返回“大于或等于”的所有内容。
预期结果:
B
C
D
E
F
这个正则表达式是什么?
编辑:我建议regex,因为用户可以输入通配符。
这不是家庭作业
提前感谢!
发布于 2010-10-24 20:48:43
这不是您应该使用正则表达式的东西。
遍历列表并检查每个项,以查看用户提供的项是否“大于或等于”。如果您使用的是.NET 3.5,那么您可能会发现LINQ很有用,特别是Enumerable.Where扩展方法。
如果您真的想使用正则表达式,您可以使用[_-f],其中必须用用户输入的字母替换下划线,但这只适用于特定的示例。将其概括为与任意长度的字符串一起工作将更加复杂(由此产生的正则表达式将非常混乱)。
发布于 2010-10-24 20:55:10
另一种解决方法是将值列表排序,并使用二进制搜索找到合适的位置。但是,请注意,对于值列表,这实际上要比将列表中的所有内容与阈值进行比较要慢。
https://stackoverflow.com/questions/4010366
复制相似问题