正则表达式匹配长度大于1的单词的最后一个字符

时间:2017-06-14 13:01:44

标签: javascript regex

我希望匹配句子中每个单词的最后一个字符,其中只有那些单词的最后一个字符应匹配,其长度大于1。

例如,如果句子是: -

I love regex.

然后正则表达式应匹配正则表达式的最后一个字符,即 e x ,而不是的 I

到目前为止,我能够使用此正则表达式匹配每个单词的最后一个字符,包括长度为1的字符: -

[a-zA-Z0-9](?= |\.|,|$)

但是我想匹配那些长度大于1的单词的最后一个字符。我该怎么做?

测试链接: - https://regex101.com/r/7tnXnB/1/

3 个答案:

答案 0 :(得分:8)

您可以使用(否定)字边界\b\B

\B\w\b

此处\w匹配单词字符,\w\b断言单词边界(因此它只匹配单词中的最后一个字符),\B断言没有单词之前此角色。

答案 1 :(得分:0)

尝试

[A-Z0-9a-z]{2,}

{2,)确保它只能获得长度为<2或更多的字符

答案 2 :(得分:0)

我认为这可能适合你,虽然我确定这个

有一个简短的版本
[a-zA-Z0-9](?= [a-zA-Z0-9]|\.|,|$)

编辑:

\w(?= \w|\.|,|$)