首页 > 解决方案 > 如何将字符串转换为超过 3 个字符的正则表达式?

问题描述

我正在尝试从字符串创建 ABRV。我可以取得一些结果,但不是最终预期的结果。例如,如果我有INTERNATIONAL Monetary Fund ltd字符串,我需要从中获取IMF

我试过这个,但它只返回IMFl。我需要将其限制为仅计算超过 3 个字符的单词。

'INTERNATIONAL Monetary Fund ltd'.match(/\b\w\B/g).join('');

这个没有按预期工作

'INTERNATIONAL Monetary Fund ltd'.match(/\b\w{4,}\B/g).join('');

标签: javascriptregex

解决方案


要仅捕获 4 个或更多字符的单词的第一个字母,您可以在匹配第一个字符后对 3 个或更多单词字符使用前瞻:

const abrv = 'INTERNATIONAL Monetary Fund ltd'.match(/\b\w(?=\w{3,})/g).join('');

console.log(abrv);


推荐阅读