python中的错误字符regexp

python中的错误字符regexp,python,regex,Python,Regex,我有一根绳子 1563:37say: 0 kl4|us: !!alias kl4 我需要提取一些信息。我正在尝试使用以下Python代码: import re x = "1563:37say: 0 kl4us: !!alias kl4" res = re.search( r"(?P<say>say(team)?): (?P<id>\d+) (?P<name>\w+): (?P<text>.*)",x) slot= res.group("

我有一根绳子

1563:37say: 0 kl4|us: !!alias kl4
我需要提取一些信息。我正在尝试使用以下Python代码:

 import re
 x = "1563:37say: 0 kl4us: !!alias kl4"
 res = re.search( r"(?P<say>say(team)?): (?P<id>\d+) (?P<name>\w+): (?P<text>.*)",x)

 slot= res.group("id")
 text = res.group("text")
 say = res.group("say")
 name = res.group("name")
有人能帮我吗


非常感谢

基于您添加“|”的位置,看起来您希望“|”和“*”由
\w
匹配,但是
\w
只匹配字母、数字和“|”。要同时匹配这些字符,请将
\w
更改为
[\w |*]

res = re.search( r"(?P<say>say(team)?): (?P<id>\d+) (?P<name>[\w|*]+): (?P<text>.*)",x)
res=re.search(r“(?Psay(团队)?):(?P\d+(?P[\w*]):(?P.*),x)

根据您添加“|”的位置,看起来您希望“|”和“*”由
\w
匹配,但
\w
仅匹配字母、数字和“|”。要同时匹配这些字符,请将
\w
更改为
[\w |*]

res = re.search( r"(?P<say>say(team)?): (?P<id>\d+) (?P<name>[\w|*]+): (?P<text>.*)",x)
res=re.search(r“(?Psay(团队)?):(?P\d+(?P[\w*]):(?P.*),x)

@Wessie提到的字符出现在数据中,而不是正则表达式中。@Wessie提到的字符出现在数据中,而不是正则表达式中。非常感谢您,很抱歉迟到了。您的代码运行良好。再次感谢它的帮助,你可以点击旁边复选标记的轮廓。非常感谢你,很抱歉迟到了。您的代码运行良好。感谢againGlad的帮助,您可以通过单击它旁边复选标记的轮廓来完成。