登录
首页 >  Golang >  Go问答

使用单词匹配进行组合

来源:stackoverflow

时间:2024-03-08 18:33:23 452浏览 收藏

Golang小白一枚,正在不断学习积累知识,现将学习到的知识记录一下,也是将我的所得分享给大家!而今天这篇文章《使用单词匹配进行组合》带大家来了解一下##content_title##,希望对大家的知识积累有所帮助,从而弥补自己的不足,助力实战开发!


问题内容

我需要找到一个正则表达式(在go中)来匹配像(sun|flower)这样的单词集中的单词,但只能分隔单词,例如“sunflower”应该匹配两个单词,但“sunflower” ""sun-flower" 不应该。

我的第一个方法是使用正则表达式 \b(sun|flower)\b 但对于本例 "sun-flower" 两个单词都是匹配的。

尝试使用像 (?:^|\s+)(sun|flower)(?:\s+|$) 这样的正则表达式,"sun-flower" 不匹配,这是可以的,但是在使用 测试时“太阳花” 只有太阳才匹配。

我已经看到其他语言(例如 java 或 python)具有前向断言和后向断言,我们可以使用正则表达式来实现此目的

(?:^|(?<= ))(sun|flower)(?:(?= )|$)

但是在go中不支持断言,所以我想知道是否有办法用go来实现这一点


解决方案


删除破折号,然后使用单词边界中的交替:

\b(sun|flower)\b

以上就是《使用单词匹配进行组合》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>