gpt4 book ai didi

jquery - 正则表达式用于精确匹配多个

转载 作者:行者123 更新时间:2023-12-01 03:07:41 24 4
gpt4 key购买 nike

我试图弄清楚如何编写正确的正则表达式,以便当 jquery DataTables 搜索一列时它会找到完全匹配的内容。我有 C-、C+、C 的值,如果有人点击“C”,我需要它只获取 C 的精确匹配项,而不是其他 2 个。

如果他们选择 C- 和 C,则应获取具有这 2 个选项之一的所有条目,但不应包含 C+。

我尝试了正则表达式:“C-|C+”,但它也捕获了所有 C。

这是我创建该正则表达式的代码:

$("input[name='tourneyLevel']").on("change", function(e) {
var levelSelected = [];
$("input[name='tourneyLevel']:checked").each(function(index, city) {
levelSelected.push([$(this).val()]);
});

var regex = levelSelected.join("|");
console.log(regex);

$('.dataTable').DataTable().column(4).search(regex, true, false).draw();
});

最佳答案

“+”和“-”在正则表达式中往往具有特殊含义。在构建正则表达式时,请尝试转义它们并将短语放入一个组中,因为您希望匹配整个组。

那么您的用户正在搜索“C+”?

(C\+)

您的用户正在搜索“C”还是“C-”?

(C\-)|(C)

您的用户正在搜索“C-”或“C+”?

(C\-)|(C\+)

您的用户正在搜索三种可能性中的任何一种?

(C\-)|(C)|(C\+)

加号通常表示“前一组中的一个或多个”。减号通常用于范围或排除某些内容。搜索这些特殊字符时要小心。当以特定顺序搜索多个字符时,您应该尝试用括号将它们分组。

此外,反斜杠用于转义字符串中的字符。通过连接字符串构造正则表达式时,必须使用第二个反斜杠转义反斜杠,以便生成的正则表达式包含单个反斜杠。这听起来可能很复杂,但可以归结为:

当您通过连接字符串构造正则表达式时,请使用两个反斜杠转义正则表达式中的字符。

要确保仅匹配此特定序列,您可以使用两个更重要的特殊字符:

  • ^ 开头
  • $ 结尾

例如,您可以使用正则表达式 (^C$) 来仅匹配单个“C”。该序列开始时恰好包含字符“C”,并在使用此正则表达式时结束。

关于jquery - 正则表达式用于精确匹配多个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44800836/

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