gpt4 book ai didi

javascript - 在 JavaScript 中模拟 SQL LIKE

转载 作者:可可西里 更新时间:2023-11-01 02:56:19 26 4
gpt4 key购买 nike

如何在 JavaScript 中模拟 SQL 关键字 LIKE

对于那些不知道 LIKE 是什么的人来说,这是一个非常简单的正则表达式,它只支持通配符 %,它匹配 0 个或多个字符,并且_ 恰好匹配一个字符。

但是,不仅可以执行以下操作:

var match = new RegEx(likeExpr.replace("%", ".*").replace("_", ".")).exec(str) != null;

...因为该模式可能包含点、星号和任何其他特殊的正则表达式字符。

最佳答案

只要您首先转义模式中的正则表达式字符,您所拥有的就会起作用。下面是来自 Simon Willison’s blog 的一个示例:

RegExp.escape = function(text) {
if (!arguments.callee.sRE) {
var specials = [
'/', '.', '*', '+', '?', '|',
'(', ')', '[', ']', '{', '}', '\\'
];
arguments.callee.sRE = new RegExp(
'(\\' + specials.join('|\\') + ')', 'g'
);
}
return text.replace(arguments.callee.sRE, '\\$1');
}

然后您可以将您的代码实现为:

likeExpr = RegExp.escape(likeExpr);
var match = new RegEx(likeExpr.replace("%", ".*").replace("_", ".")).exec(str) != null;

关于javascript - 在 JavaScript 中模拟 SQL LIKE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1314045/

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