为了账号安全,请及时绑定邮箱和手机立即绑定

在 Python 中制作正则表达式

在 Python 中制作正则表达式

偶然的你 2021-09-14 20:45:42
如何在 Python 中为此创建正则表达式?[1,12:12] call basic_while1() Error Code: 1046. No database selected我试过这个,'^\[(\d+),([0-9:]+)\]\s+(.+)$'但我没有在这种输入上得到任何匹配: ['1','12:12', 'call basic_while1()' ,'Error Code: 1046. No database selected'] 使用该正则表达式。如果我想获得类似的输出,正则表达式是什么 ['Error Code: 1046. No database selected']如何为此制作正则表达式以便我可以获得匹配项?
查看完整描述

2 回答

?
守着一只汪

TA贡献1872条经验 获得超3个赞

您正在匹配 3 个捕获组,并且您需要在(). 结束后,]您可以添加一个非贪婪匹配来匹配直到开始和结束括号:

^\[(\d+),(\d+:\d+)\]\s+(.*?\(\))\s+(.*)

查看正则表达式演示

那将匹配:

  • ^ 字符串的开始

  • \[ 比赛 [

  • (\d+) 捕获一组 1+ 位数字

  • ,(\d+:\d+)匹配逗号并捕获一组 1+ 位数字,后跟一个冒号和 1+ 位数字。(或者[0-9:]+,那将是一个更广泛的匹配)

  • \s+ 匹配 1+ 个空白字符

  • (.*?\(\)) 在一个组中捕获任何字符 0+ 次非贪婪然后匹配 ()

  • \s+(.*) 匹配 1+ 个空白字符并在任意字符中捕获 0+ 次


查看完整回答
反对 回复 2021-09-14
  • 2 回答
  • 0 关注
  • 182 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信