gpt4 book ai didi

JavaScript 正则表达式获取波斯语/英语字符串的最多 3 个单词的第一个字母表

转载 作者:行者123 更新时间:2023-11-30 20:33:04 25 4
gpt4 key购买 nike

enter image description here我有以下波斯语和英语字符串。

1- گروه وانان خلاق

2- (ць (حمایت 带

3- ← | حماوت کننده رسانه هاو آòاد اوغانستان

4- NKCC(Nawi Kunduz 建筑公司)

5- 阿富汗发展和注册服务

我想要做的是获取每个句子最多 3 个单词的第一个字母。我尝试过的:

\b(?:(?:[a-zA-Z0-9])|(?:[\u0621-\u0628\u062A-\u063A\u0641-\u0642\u0644-\u0648\u064E-\u0651\u0655\u067E\u0686\u0698\u06A9\u06AF\u06BE\u06CC]))

以上正则表达式仅适用于英文句子,我的主要问题是 \b 用于波斯语句子,并且强制只考虑最多 3 个单词。

最佳答案

您可以构建一个正则表达式,首先匹配字符串的开头或除单词(字母和数字)字符以外的任何字符,然后捕获第一个字母/数字,但只收集前 3 个匹配项:

var strs = ["|گروه جوانان خلاق", "(نی (حمایت کننده رسانه های آزاد افغانستان", "نی | حمایت کننده رسانه های آزاد افغانستان", "NKCC (Nawi Kunduz Construction Company)","5- Afghanistan Development And Registry Services"];
var pblock = "\\u0621-\\u0628\\u062A-\\u063A\\u0641-\\u0642\\u0644-\\u0648\\u064E-\\u0651\\u0655\\u067E\\u0686\\u0698\\u06A9\\u06AF\\u06BE\\u06CC";
var rx = new RegExp("(?:^|[^a-zA-Z0-9" + pblock + "])([a-zA-Z0-9" + pblock + "])", "g");
for (var s of strs) {
var m, cnt=0, res=[];
while (m=rx.exec(s)) {
if (cnt < 3) {
res.push(m[1]);
cnt++;
} else break;
}
console.log(s, res);

}

关于JavaScript 正则表达式获取波斯语/英语字符串的最多 3 个单词的第一个字母表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50131782/

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