首先匹配字符串' x' #个字符数

时间:2016-06-24 17:03:58

标签: regex

我在Google脚本中使用正则表达式来规范化公司名称,虽然我通过替换某些单词,标点符号和空格的组合非常接近完美,但我的最后一步是替换任何3个或更少的字母单词(不是数字)。

但是,在一开始他们的名字,即AB控股公司,它就摆脱了一些公司的缩略语。我不希望这与AB匹配,我希望它能找到罕见的" The"或公司代码(特别是SPA和NV以及Co和Inc等外国代码)。这些代码不一定在字符串的末尾,但它们在开头之后似乎总是至少有4个字符。

我目前正在使用

text = text.replace(/\b[a-z]{1,3}\b)/i," ");

忽略[a-z]作为缺失的上限,我已单独处理

我认为可行的是"跳过"前几个字符,可能是4个是安全的,并且可能学习如何在将来包含空格和/或数字。所以我在看到其他1个相关问题后写了这个。

text = text.replace(/((.{4})(.*)\b[a-z]{1,3}\b)/i," ");

Scipts似乎没有允许后视,我的版本似乎不起作用。我输了。

感谢您的帮助。

澄清的编辑

1 个答案:

答案 0 :(得分:0)

您是否尝试将字符串的结尾与" $"匹配?

所以它看起来像

text = text.replace(/\b[a-z]{1,3}\b$)/i," ");

这样可以避免在首字母缩略词

之后匹配任何单词
相关问题