gpt4 book ai didi

javascript - 从用户输入字符串添加对数组的引用

转载 作者:行者123 更新时间:2023-12-02 17:52:58 27 4
gpt4 key购买 nike

如何在匹配的单词(包括正则表达式中的匹配单词)之后直接获取引用

示例

var refArray = [];
var str = "matt 25:5 hello foo bar matt 5:10"; // unknown information
var pattern = "matt"; // looped through an object to get pattern

var regex = new RegExp(pattern,"gi");
var matches = str.match(regex); // check for any name matches

if(matches){
/*
This is where I get stuck
Get the numbers right after each match
and place both name and number into a variable AKA. result
*/
refArray.push($result);
}
// The refArray should output [matt 25:5, matt 5:10]

非常感谢您的帮助

编辑

我希望能够匹配所有引用可能性,又名示例...马特|马特 5 |马太福音 5:5 |马太福音 5:5-10 |马太福音 5:5-10, 12 |马太福音 5:5-10, 12-14

编辑

这是我想出的正则表达式,位于 here

我正在尝试匹配所有可能的引用

matt
matt 5
matt 5, 6, 7
matt 5:5
matt 5:5-10
matt 5:5-10, 16,
matt 5:5-10, 16-20, 18-20
matt 5-6

根据我所在的网站,但是当我将代码粘贴到我的页面中时,它仍然只显示名称。

正则表达式是...

(matt( \d*(\:\d*)?(\-\d*)?((, (\d*\-)?\d*)?)+)?(?!\w))

我做错了什么?

最佳答案

我想这就是你想要的

var refArray = [];
var str = "matt 25:5 hello foo bar matt 5:10";
var pattern = "matt \\d+:\\d+";

var regex = new RegExp(pattern,"gi");
refArray = str.match(regex);

alert(refArray);
// The result is [matt 25:5, matt 5:10]
  • 来自Mozilla的文档表示函数 match 返回匹配的字符串数组,如果没有匹配的字符串则返回 null。
  • 您似乎尝试将该字符串与 matt 匹配,并在后面加上 number:number。匹配该字符串的正则表达式应为 matt\d+:\d+

关于javascript - 从用户输入字符串添加对数组的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21198657/

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