Javascript 正则表达式测试如何仅返回精确匹配

Javascript 正则表达式测试如何仅返回精确匹配,javascript,jquery,regex,testing,exec,Javascript,Jquery,Regex,Testing,Exec,我有以下代码: var search_term = postAdminID // Wildcards Search var search = new RegExp(search_term, "i"); sdsFilter = $.grep(sdsInfo.products, function(element, index) { var sted = search.exec(element.AdminID) return sted

我有以下代码:

    var search_term = postAdminID

    // Wildcards Search
    var search = new RegExp(search_term, "i");
    sdsFilter = $.grep(sdsInfo.products, function(element, index) {
        var sted = search.exec(element.AdminID)

        return sted;
postAdminID是数组中特定帖子的索引

element.AdminID是我正在搜索的相应索引

问题: 每当我尝试执行此搜索时,我都会得到每个匹配的索引,也会得到部分匹配的索引

假设我想要检索索引#78。上面的代码返回:7817827810078等等。我只想要准确的索引,而不是每个包含索引的索引

我试过了。执行和测试 我已经在这里找到的关于stackoverflow的每一篇文章中都找到了

请帮忙。
如何为regex指定只查找整个“字符串”?

问题在于您使用的搜索模式

在正则表达式中,可以匹配行的开头和结尾(如果是单行字符串,则为字符串的结尾)。为此,在搜索模式的开头添加
^
,在结尾添加
$

例如,
^78$
将只匹配索引78,而不是178278


如果要查找包含许多索引的分隔符的字符串,则必须在搜索模式中添加分隔符,或拆分字符串并搜索其基本元素。

问题在于您使用的搜索模式

在正则表达式中,可以匹配行的开头和结尾(如果是单行字符串,则为字符串的结尾)。为此,在搜索模式的开头添加
^
,在结尾添加
$

例如,
^78$
将只匹配索引78,而不是178278

如果要查找包含多个索引的分隔符的字符串,则必须在搜索模式中添加分隔符,或拆分字符串并搜索其基本元素。

尝试此正则表达式:
\b78\b


\b
将确保这只是78,而不是包含78的数字。
在您的情况下,搜索词应为:
var search\u term=“\b”+postAdminID+“\b”

试试这个正则表达式:
\b78\b


\b
将确保这只是78,而不是包含78的数字。
在您的情况下,搜索词应为:

var search\u term=“\b”+postAdminID+“\b”

感谢您的输入。这两个建议都起到了作用。但他们限制将脚本用于其他目的。我想使用一种搜索算法来搜索不止一个整数键

最后,我使用了以下脚本:return element.AdminID==postAdminID

var search_term = postAdminID

// Wildcards Search
var search = new RegExp(search_term, "i");
sdsFilter = $.grep(sdsInfo.products, function(element, index) {
    var sted = search.exec(element.AdminID)
    return element.AdminID == postAdminID;
}); 

我还添加了几个search.exec,以使我的脚本变得更加通用和灵活。但再次感谢您宝贵的意见。

谢谢您的意见。这两个建议都起到了作用。但他们限制将脚本用于其他目的。我想使用一种搜索算法来搜索不止一个整数键

最后,我使用了以下脚本:return element.AdminID==postAdminID

var search_term = postAdminID

// Wildcards Search
var search = new RegExp(search_term, "i");
sdsFilter = $.grep(sdsInfo.products, function(element, index) {
    var sted = search.exec(element.AdminID)
    return element.AdminID == postAdminID;
}); 

我还添加了几个search.exec,以使我的脚本变得更加通用和灵活。但再次感谢您宝贵的输入。

您尝试匹配的字符串是什么样子的?我假设您正在尝试从列表中查找一个?您需要添加任何用于将项目分隔到搜索模式中的内容,否则它将全局执行,因为它将其视为搜索搜索,搜索项包括什么?编辑您的问题并包括必要的详细信息。如果没有正则表达式模式和示例数据,一点代码都没有用。您要匹配的字符串是什么样子的?我假设您要在列表中找到一个?您需要添加任何用于将项目分隔到搜索模式中的内容,否则它将全局执行,因为它将其视为搜索搜索,搜索项包括什么?编辑您的问题并包括必要的详细信息。如果没有正则表达式模式和示例数据,一点代码都没有用。