使用正则表达式搜索数据

时间:2013-12-25 02:57:15

标签: c# regex

我想搜索我的数据。我正在使用带有IsMatch()函数的正则表达式。

我有一个班级:

public  class MyClass
    {
        public  string Name { get; set; }
        public string Address { get; set; }
    }

我想通过名称或地址,名称或地址类似输入搜索我的数据 输入模糊搜索是:a%ba%b%c或日文字符(例如:区%水)。

在main函数中,我有一个列表:List<MyClass> data并使用带有IsMatch()函数的正则表达式,如下所示:

Regex regex = new Regex(FuzzySearch, RegexOptions.IgnoreCase);


var allInfoList1 = allInfoList.Where(x => regex.IsMatch(x.Name) ||
                                      regex.IsMatch(x.Address)).ToList();

某些时候结果是真的,但有时结果是错误的(案例输入是日文字符)

(正则表达式不支持unicode吗?) 还有其他解决方案吗?

1 个答案:

答案 0 :(得分:1)

我建议您考虑使用Apache LuceneApache Solr等工具,而不是实施自己的文档搜索引擎。我不知道你的具体用例,也许我的建议太过分了,但我会考虑一下。

希望我帮忙!