再次问好Stackoverflow的人!
假设我有这些话:智能手机,智能手机
我想匹配其中的子串“phone”。但是,在这两种情况下,我只想要返回“电话”,而不是第一种情况下的“电话”。除此之外,我只想在单词“phone”只是后缀时才需要匹配,例如:
fonephonetics(只是一个例子)不匹配。
我认为正则表达式
(phone([?=s])?)\b
会给我我需要的东西,但它目前正在匹配“手机”和“手机”,而不是“fonephonetics”。我不需要“手机”。对于这两种情况,我都想要“电话”。
关于什么是错的,以及我能做什么的任何想法?
提前谢谢!
答案 0 :(得分:5)
匹配phone
后跟s\b
或\b
:
phone(?=s?\b)
前瞻是零宽度匹配,因此s
不会作为匹配的一部分返回。