gpt4 book ai didi

Javascript:每 100 个 block 文本运行一个正则表达式匹配函数

转载 作者:行者123 更新时间:2023-12-03 08:13:17 26 4
gpt4 key购买 nike

我编写了一段 JavaScript 代码,它将一批文本处理为 100 个字符的 block ,并分别进行正则表达式文本匹配(即文本中的 5 个橙子 6 个苹果 20 个梨匹配)。

我喜欢正则表达式匹配脚本会自动针对每个 block (每 100 个字符)运行并按顺序输出匹配结果,最好在表格内格式化。

问题:1) 每次字符串被切成 100 个字符时,正则表达式匹配函数不会在新 block 上运行 2)我正在努力循环正则表达式匹配函数

非常感谢您的帮助。

var str = " Apple Pears Bananas Apple Pears Bananas Apple Pears Bananas  Apple Pears Bananas Apple Pears Bananas Apple Pears Bananas Apple Pears Bananas....";
var chunks = [];
var chunkSize = 100;

while (str) {
if (str.length < chunkSize) {
chunks.push(str);
break;
} else {
chunks.push(str.substr(0, chunkSize) + total() + "<p></p>");
/// I tried to run the regex match function in this line for each new chunk of 100 characters but failed
str = str.substr(chunkSize);
}
}


function getMatches(string, regex, index) {
index || (index = 1);
var matches = [];
var match;
while (match = regex.exec(string)) {
matches.push(match[index]);
}
return matches;
}

function total() {
var myString = str;/// I'm trying to pick up each new chunks (100 characters)
var myString;

var myRegEx_apple = /(?:^|\s)apple(.*?)(?:\s|$)/g;
var matches = getMatches(myString, myRegEx_apple, 1);
document.getElementById("myRegEx_apple").innerHTML = (matches.length + ' apple matches found' + '\n');

var myRegEx_pears = /(?:^|\s)pears(.*?)(?:\s|$)/g;
var matches = getMatches(myString, myRegEx_pears, 1);
document.getElementById("myRegEx_pears").innerHTML = (matches.length + ' pears matches found' + '\n');

最佳答案

看来您没有尝试逐步解决您的问题。

  1. 您应该尝试获取有效的 block 并进行验证,然后再进行下一步。(我无法确定您在代码中的何处正确执行此操作,如果我错过了某些内容,抱歉)。

  2. 迭代 chunks 数组的每个项目,并将字符串与每 3 个术语(“Apple”、“Pears”、“Bananas”)进行匹配。

尝试使用此函数将字符串切成 100 个字符 block :

function chop(str){
return str.match(/.{1,100}/g);
}

chunks=chop(str);

您应该得到一个 100 个字符的字符串数组。从那里转到步骤 2。确保在正则表达式中/之后使用“g”标志(全局标志)。

关于Javascript:每 100 个 block 文本运行一个正则表达式匹配函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34056117/

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