gpt4 book ai didi

python - 匹配冒号前后的短语

转载 作者:行者123 更新时间:2023-12-01 08:50:06 24 4
gpt4 key购买 nike

我有以下字符串:

'FIELDS--> FIELD1: Random Sentence  \r\n FIELD2: \r\nSOURCEHINT--> FIELD3: 
value.nested.value, FIELD4: 5.5.5.5, FIELD5: Longer Sentence, with more words-and punctation\r\n'

我想要上面字符串中的以下内容:

[FIELD1, Random Sentence]
[FIELD2, ]
[FIELD3, value.nested.value]
[FIELD4, 5.5.5.5]
[FIELD5, Longer Sentence, with more words-and punctation]

如果它是空的并且我想要完整的句子,我仍然想要该值。字段的数量也可能有所不同。这类似于 Match word before and after colon ,但在这种情况下,我想要完整的句子,而不仅仅是单词。此外,字段名称可以更改。所以他们可以使用 KEY3,而不是 FIELD1。

我尝试过:

re.findall(r'(\w+) *:(?:(.*)?), x)

它在第一个匹配后停止匹配,因此仅输出 FIELD1,并匹配其后的所有内容。

最佳答案

看来你可以使用

r'(\w+) *: *(.*?)(?=\s*(?:\w+:|$))'

请参阅regex demo

详细信息

  • (\w+) - 第 1 组:一个或多个单词字符
  • *: * - 用空格括起来的 :
  • (.*?) - 第 2 组:任何字符,0 次或多次重复,尽可能少,直到第一次出现
  • (?=\s*(?:\w+:|$)) - 0+ 个空格,后跟 1+ 个单词字符,后跟 : 或结尾字符串位置。

关于python - 匹配冒号前后的短语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53162112/

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