gpt4 book ai didi

正则表达式 - 捕获空格分隔的单词

转载 作者:数据小太阳 更新时间:2023-10-29 03:06:02 25 4
gpt4 key购买 nike

我有一个字符串:

2001 970451 4 l 97 0451 iver by c 3 0 1 8 4 1 4 hundred 2001 970451 nama 4 l 97 0451 iver bundle blah

我需要一个适当的正则表达式来捕获一系列字符和空格,例如 by c 3 0 1 8 4 1 4?

我试过:

(\b[a-z0-9]{1}\s{1})+ - 我得到 l

编辑:

为了进一步解释我的需要,我需要能够捕获类似的文本系列,其中单个字母数字字符连续/重复后跟单个空格字符,直到不再如此。

最佳答案

regexp 是硬性要求吗?

从长远来看,只使用类似 strings.Fields 的东西并按长度过滤结果数组(您也可以应用任何其他要求)会简单得多。

例子:
(在 Playground 上试一试!https://play.golang.org/p/Ue2wO5d-Te)

package main

import (
"fmt"
"strings"
)

func CaptureGroups(input string) (output [][]string) {
fields := strings.Fields(input)

var group []string
for _, field := range fields {
if len(field) == 1 {
group = append(group, field)
} else {
if len(group) > 0 {
output = append(output, group)
group = make([]string, 0)
}
}
}

return
}

func main() {
input := "2001 970451 4 l 97 0451 iver b y c 3 0 1 8 4 1 4 hundred 2001 970451 nama 4 l 97 0451 iver hundred blah"
output := CaptureGroups(input)

fmt.Printf("Groups: %q", output)
}

关于正则表达式 - 捕获空格分隔的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37981108/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com