我正在尝试做一些正则表达式,使所有内容都匹配到第一个.
。
字符串是这样的:
hostkafka1.kafka.server:type=BrokerTopicMetrics,name=FailedProduceRequestsPerSec,topic=auto.tooling.files.received.v1.MeanR^Cost","metric_path":"dsdpecard01kfk06.kafka.server:type=BrokerTopicMetrics,name=FailedProduceRequestsPerSec,topic=credit-card.servicing.accounts.authorized-user.created.v1.MeanRate","type":null,"region":"us-east-1
我想比赛 hostkafka1
我可以使用/.+?(?=\.)/
其他语言,但无法在golang中使用...
确实没有理由为了这种琐碎的任务而淘汰正则表达式引擎。您不是在使用普通语言。正如您的问题所证明的,编写起来更加清晰(并且运行速度更快):
if n := strings.IndexByte(s, '.'); n >= 0 {
fmt.Println(s[:n])
} else {
// no match
}
Run Code Online (Sandbox Code Playgroud)
游乐场:https : //play.golang.org/p/fVmbERaz2SN