gpt4 book ai didi

javascript - 用于计算特定事件的正则表达式模式

转载 作者:行者123 更新时间:2023-12-05 05:52:28 25 4
gpt4 key购买 nike

我正在尝试匹配前面或后面或两者都有空格的单词。

var sample = " test-abc -test# @test _test hello-test@ test test "

就像上面的例子一样,第一个'test'会被算作它前面有一个空格,下一个不会被算作因为它没有空格,第三个'test'会被算作它后面有一个空格,类似地第四个也是,第五个不算,因为它前后没有空格,最后两个算在内,因为它们前后都有空格。

function countOccurences(str,word){
var regex = new RegExp("(\\b|(?<=_))"+word+"(\\b|(?<=_))","gi");
console.log((str.match(regex)|| []).length);
}

我写的函数计算了确切的单词但不考虑空格所以我得到的输出是 7 但我想要得到的是 5。

最佳答案

您可以在这里尝试使用 match():

var sample = " test-abc -test# @test _test hello-test@ test test ";
var matches = sample.match(/(?<=\s)test|test(?=\s)/g, sample);
console.log("There were " + matches.length + " matches of test with whitespace on one side");

此处使用的正则表达式模式表示匹配:

(?<=\s)test  test preceded by whitespace
| OR
test(?=\s) test followed by whitespace

请注意,这里的 5 场比赛是:

test-abc
@test
_test
test
test

关于javascript - 用于计算特定事件的正则表达式模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70120132/

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