Laravel jQuery数据表逗号分隔列表正则表达式精确搜索

Laravel jQuery数据表逗号分隔列表正则表达式精确搜索,laravel,datatables,jquery-select2,laravel-datatables,Laravel,Datatables,Jquery Select2,Laravel Datatables,我目前有一个使用服务器端处理填充的jQuery数据表,它有一个列,其中包含逗号分隔的值列表 Column List to Search 1 15,12,10 2 20,31,23 3 21,20,12 我用select2创建了一个自定义搜索框,允许用户输入多个ID进行搜索。我试图对这些值进行“精确”搜索,并只返回特定的组合,而不管数字的顺序如何 以下所有示例输入在用户搜索时都应返回目标行 Target Row: [15,12,10] Input #

我目前有一个使用服务器端处理填充的jQuery数据表,它有一个列,其中包含逗号分隔的值列表

Column   List to Search
1        15,12,10
2        20,31,23
3        21,20,12
我用select2创建了一个自定义搜索框,允许用户输入多个ID进行搜索。我试图对这些值进行“精确”搜索,并只返回特定的组合,而不管数字的顺序如何

以下所有示例输入在用户搜索时都应返回目标行

Target Row: [15,12,10]
Input #1: [10,15,12]
Input #2: [12,10,15]
Input #3: [15,10,12]

上面的代码以前是通过生成regex字符串并将其传递给datatable列搜索来工作的。但是,现在运行搜索时,它会抛出以下MySQL RegExp错误:

SQLSTATE[42000]:语法错误或访问冲突:1139获取错误 regexp中的“重复运算符操作数无效”


如果您有任何关于修复错误的帮助或见解,我们将不胜感激

有关SQL错误,请参阅以下内容:。作为旁注,在生成正则表达式字符串并将其扔向SQL查询时,您似乎在做一些有点危险的事情,并且有更好的方法来设计您要完成的任务。
$('.filter-content').on('change paste keyup', '#synergies', function() {
    var synergy_array = $(this).val();

    if ($("#syngery_match").val() == "exact")
    {
      $.each(synergy_array,function(i){
        all_array[i] = '(?=.*\\b' + synergy_array[i] + '\\b)';
      });
    
      var allstring_final = all_array.join('#').replace(/\#/g, '');
    
      table.column(9).search('^' + allstring_final + '.*$', true, false).draw();
    }
});