python - 有没有一种方法可以使用正则表达式在关键字之后但到达 '|' 之前搜索 x 个字符?

标签 python regex python-re

当遍历列表时,将返回以下字符串的示例。我正在尝试将团队名称保存为变量。但是,对于列表中要检查的每个字符串,名称可以是任意数量的字符。

顺便说一句,在将总分保存为变量时,我通过

pointTotal = re.search("Total:" + '.\w+', eachEntry) 

虽然这显然不适用于跨越多个单词的团队名称。

我的目标是对“名称:”之后的所有字符(也可以是数字)执行正则表达式搜索,直到到达竖线符号 (|)。最终我会得到 teamName = "Avacado Helmets"

..."|Keypad:6 |Name:Avacado Helmets  |Pressed:E  |Seconds:15.73  |Question Points:0  |Total:5802"

我希望这个问题不是太复杂,我一直在通过正则表达式测试器进行搜索以尝试找出答案,但我只是觉得我需要一些指导。我刚刚开始使用正则表达式,并为此进行编程,我将不胜感激任何帮助。谢谢。

最佳答案

您可以在此处使用带有捕获组的re.findall:

inp = "|Keypad:6 |Name:Avacado Helmets |Pressed:E |Seconds:15.73 |Question Points:0 |Total:5802"
name = re.findall(r'\|Name:(.*?)\s*(?:\||$)', inp)[0]
print(name)  # Avocado Helmets

关于python - 有没有一种方法可以使用正则表达式在关键字之后但到达 '|' 之前搜索 x 个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70602621/

相关文章:

python - Tensorflow train.batch 问题

javascript - 如何创建具有以下条件的正则表达式

python - 我可以添加带有可选字符列表的非捕获组吗?

python - 我的名字中有两个字母数量相等,如何打印这两个字母及其数量

python - 在文件对话框中设置的 tkinter 文件模式

Python类继承初始化

匹配字符串的正则表达式,但前提是同一行上的任何地方都不存在另一个字符串

regex - Fiddler 自动回复 + 正则表达式

python - 在 Pelican 中从文件名自动生成标题

python - 正则表达式 anchor \< 与\b 用于字边界