gpt4 book ai didi

python - 使用正则表达式将字符串拆分成组?

转载 作者:行者123 更新时间:2023-12-04 03:24:27 30 4
gpt4 key购买 nike

我的字符串可以有不同数量的“组”。我需要拆分它们,但我在这样做时遇到了麻烦。这些组将始终以 [A-Z]{2-5} 开头,后跟 : 和一个字符串或不同的长度和空格。它总是在组前面有一个空间。

示例字符串:

"YellowSky AA:Hello AB:1234 AC:1F 322 AD:hj21jkhjk23"
"Billy Bob Thorton AA:213231 AB:aaaa AC:ddddd 322 AD:hj2ffs dsfdsfd1jkhjk23"

到目前为止我的代码:

import re
D = "Test1 AA:Hello AB:1234 AC:1F 322 AD:hj21jkhjk23"

g = re.compile("(?<!^)\s+(?=[A-Z])(?!.\s)").split(D)

如您所见...这适用于一个单词的起始字符串,但不适用于多个单词。

Works

但这失败了/w 空格: Doesn't work

最佳答案

你可以使用

re.split(r'(?!^)\s+(?=[A-Z]+:)', text)

参见 this regex demo .

详细信息:

  • (?!^) - 匹配不在字符串开头的位置的否定前瞻(等于 (?<!^) 但短一个字符)
  • \s+ - 一个或多个空格
  • (?=[A-Z]+:) - 需要一个或多个大写 ASCII 字母后跟 : 的正面前瞻立即在当前位置右侧的字符。

关于python - 使用正则表达式将字符串拆分成组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67879236/

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