如何在 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+ 次
添加回答
举报
0/150
提交
取消