gpt4 book ai didi

javascript - 如何转义正则表达式中的特殊字符

转载 作者:行者123 更新时间:2023-11-30 12:14:18 24 4
gpt4 key购买 nike

对于我的网站,我使用 dataTable插件并为用户提供过滤结果的可能性。我实现了一些过滤器,它们是从结果中动态加载的,并且包含每一列的所有不同值。

由于可以组合多个过滤器,我停用了智能搜索,不得不激活正则表达式搜索。所有这些都工作正常。

我的问题是:我有类似“内容(另一内容)”的内容,对于那些包含括号的内容,搜索不起作用(未找到结果)。

是否有可能在调用之前屏蔽 searchString:

table.column('myColumn:name').search(searchString, true, false, true).draw();

我试图用“\)”或类似的东西替换字符串,但这没有帮助。如果我只是删除那些特殊字符,则结果也无法找到,因为 regEx 搜索需要精确的字符串。

谁能帮帮我?

最佳答案

SOLUTION

您可以添加并使用函数 escapeRegExp() 来转义特殊字符在 MDN - Regular Expressions 中找到的字 rune 章:

function escapeRegExp(string){
return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
}

// ... skipped ...

table.column('myColumn:name').search(escapeRegExp(searchString), true, false, true).draw();

DEMO

参见 this jsFiddle用于代码和演示。

关于javascript - 如何转义正则表达式中的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32846782/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com