Javascript 正则表达式匹配长度大于1的单词的最后一个字符
我想匹配句子中每个单词的最后一个字符,在这个句子中,只有那些单词的最后一个字符应该匹配长度大于1的字符 例如,如果句子是:-Javascript 正则表达式匹配长度大于1的单词的最后一个字符,javascript,regex,Javascript,Regex,我想匹配句子中每个单词的最后一个字符,在这个句子中,只有那些单词的最后一个字符应该匹配长度大于1的字符 例如,如果句子是:- I love regex. 然后regex应该只匹配love和regex的最后一个字符,即e和x,而不是i 到目前为止,我能够使用以下正则表达式匹配每个单词的最后一个字符,包括长度为1的单词:- [a-zA-Z0-9](?= |\.|,|$) 但我只想匹配长度大于1的单词的最后一个字符。我该怎么做 测试链接:- 试试看 [A-Z0-9a-z]{2,} {2,)确保只
I love regex.
然后regex应该只匹配love和regex的最后一个字符,即e和x,而不是i
到目前为止,我能够使用以下正则表达式匹配每个单词的最后一个字符,包括长度为1的单词:-
[a-zA-Z0-9](?= |\.|,|$)
但我只想匹配长度大于1的单词的最后一个字符。我该怎么做
测试链接:-
试试看
[A-Z0-9a-z]{2,}
{2,)确保只获取长度为2个或2个以上的字符您可以使用(否定的)单词边界\b
和\b
:
\B\w\b
在这里,
\w
匹配一个单词字符,\w\b
声明一个单词边界(因此它将只匹配单词中的最后一个字符),并且\b
声明在这个字符之前没有单词边界。我认为这可能对您有用,尽管我确信有一个简写版本
[a-zA-Z0-9](?= [a-zA-Z0-9]|\.|,|$)
编辑:
它必须是正则表达式吗?您可以将字符串拆分为单词数组,并逐个单词选择每个单词的最后一个字母[word.length-1]你需要解释Unicode字母吗,比如在单词
café
?唯一需要提及的是,\w
包含下划线-这在普通文本中不应该是一个问题-但人们永远不知道:)甜美而简单。非常好。它起作用了。非常感谢。这不是他想要的…它匹配两个或更多字符的单词……但他只想匹配长度超过1的单词的最后一个字符
\w(?= \w|\.|,|$)