RegExp:匹配前3个字符单词



/[\w|A-Z]{1,3}[A-Z]/g但我只想匹配单词的前3个字符
例如:

I WANt THE FIRst 3 CHAr OF WORds ONLy.

这是为快速演讲者准备的:任何单词的开头都要大写。

最好的可能是:(前3个字符((单词或空格的其余部分(

https://regex101.com/r/PCi8Dn/2

谢谢!

原始答案

使用正向前瞻((?=[pattern](进行匹配,而不包括在匹配中。

[A-Z]{1,3}(?=[a-z])

似乎可以做你想做的事(如果我正确理解你的规范(。

你可以在这里看到它的作用。

规范澄清后的新答案

我认为这是你想要的:

(S{1,3})(S*[s.]+)

细分为:

  • 第一捕获组:(S{1,3})

最多匹配3个非空格字符(使用S而不是w,因为我认为您希望将字符与像à这样的变音符号和像'这样的单词中间的标点符号相匹配。

  • 第二捕获组:(S*[s.]+)

匹配零个或多个非空格字符(每个单词中的剩余字符(,后跟一个或多个子分隔符(空格或句点(。我将句点作为分隔符,以匹配最后一个单词。您可能需要根据自己的具体需要调整该部分。

请在此处查看它的实际操作。

最新更新