作者:手机用户2502853355 | 来源:互联网 | 2023-02-01 12:03
我想匹配一个句子中每个单词的最后一个字符,其中只有那些单词的最后一个字符应该匹配,其长度大于1.
例如,如果句子是: -
I love regex.
然后正则表达式应该只匹配爱和正则表达式的最后一个字符,即e和x,而不是我.
到目前为止,我能够使用此正则表达式匹配每个单词的最后一个字符,包括长度为1的字符: -
[a-zA-Z0-9](?= |\.|,|$)
但是我想匹配那些长度大于1的单词的最后一个字符.我怎么能这样做?
测试链接: -
https://regex101.com/r/7tnXnB/1/
1> Aran-Fey..:
您可以使用(否定)字边界\b
和\B
:
\B\w\b
这里\w
匹配一个单词字符,\w\b
断言一个单词边界(因此它只匹配一个单词中的最后一个字符),并\B
断言在该字符之前没有单词边界.
唯一值得一提的是,`\ w`包括下划线 - 这不应该是普通文本中的问题 - 但是一个人永远不会知道:)