我希望匹配句子中每个单词的最后一个字符,其中只有那些单词的最后一个字符应匹配,其长度大于1。
例如,如果句子是: -
I love regex.
然后正则表达式应匹配爱和正则表达式的最后一个字符,即 e 和 x ,而不是的 I
到目前为止,我能够使用此正则表达式匹配每个单词的最后一个字符,包括长度为1的字符: -
[a-zA-Z0-9](?= |\.|,|$)
但是我想匹配那些长度大于1的单词的最后一个字符。我该怎么做?
测试链接: - https://regex101.com/r/7tnXnB/1/
答案 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|\.|,|$)