英文:
Golang Regular expression to separate a formula
问题
需要将类似于1-(a+b-b-d)*100的表达式拆分为1、a+b-b-d和100。
我尝试了(\+|-|\*|\/)
,它将字符串拆分为1 (a b b d) 100。
英文:
Need to split something like 1-(a+b-b-d)*100 into 1, a+b-b-d, 100
I tried (\+|-|\*|\/)
which will split the string into 1 (a b b d) 100
答案1
得分: 1
正则表达式模式:
^(\d+?)\-(\(.+?\))\*(\d+?)$
package main
import (
"log"
"regexp"
)
func main() {
reg := regexp.MustCompile(`^(\d+?)\-(\(.+?\))\*(\d+?)$`)
str := `1-(a+b-b-d)*100`
// see: https://pkg.go.dev/regexp#Regexp.FindAllSubmatch
ret := reg.FindAllSubmatch([]byte(str), -1)
log.Printf("%s %s %s", ret[0][1], ret[0][2], ret[0][3])
}
英文:
regular expression pattern:
^(\d+?)\-(\(.+?\))\*(\d+?)$
package main
import (
"log"
"regexp"
)
func main() {
reg := regexp.MustCompile(`^(\d+?)\-(\(.+?\))\*(\d+?)$`)
str := `1-(a+b-b-d)*100`
// see: https://pkg.go.dev/regexp#Regexp.FindAllSubmatch
ret := reg.FindAllSubmatch([]byte(str), -1)
log.Printf("%s %s %s", ret[0][1], ret[0][2], ret[0][3])
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论