用python打印搜索结果

用python打印搜索结果,python,Python,我是Python的初学者,正在为一个简单的代码而奋斗。 我有一个字符串,比如: ERROR_CODE=0,ERROR_MSG=null,SESSION_ID=2a50250f-4a2e-4bf9-b1a7-7a8030333de2|||33a3b23d-2143 我想使用re.search()从字符串中获取会话ID=2a50250f-4a2e-4bf9-b1a7-7a8030333de2 我的代码: line=ERROR_CODE=0,ERROR_MSG=null,SESSION_ID=2a5

我是Python的初学者,正在为一个简单的代码而奋斗。 我有一个字符串,比如:

ERROR_CODE=0,ERROR_MSG=null,SESSION_ID=2a50250f-4a2e-4bf9-b1a7-7a8030333de2|||33a3b23d-2143
我想使用re.search()从字符串中获取会话ID=2a50250f-4a2e-4bf9-b1a7-7a8030333de2

我的代码:

line=ERROR_CODE=0,ERROR_MSG=null,SESSION_ID=2a50250f-4a2e-4bf9-b1a7-7a8030333de2|||33a3b23d-2143
sessionId=re.search(r'SESSION_ID=*|',line)
            if sessionId:
                print sessionId     
            else:
                print "Session id not found"
在执行此操作时,我得到的结果是

但是我需要的结果是SESSION\u ID=2a50250f-4a2e-4bf9-b1a7-7a8030333de2。
我哪里出错了?请提前感谢

搜索
在组中捕获:
替换:

print sessionId 
致:

演示:

a=“你好,你好吗” >>>k=重新搜索('[a-z]+',a) >>>k >>>k.集团() “你好”
您的问题是“会话ID=|”。字符“|”应该转义,而不是
*
应该是“.”

结果是:

SESSION_ID=2a50250f-4a2e-4bf9-b1a7-7a8030333de2|||
也许有更好的方法来搜索,但我只是对regexp应用了最简单的更改

更好的方法是

sessionId=re.search(r'(SESSION_ID=[\w-]+)\|',line)

if sessionId:
    print(sessionId.group(1))     
else:
    print("Session id not found")
这使得:

SESSION_ID=2a50250f-4a2e-4bf9-b1a7-7a8030333de2

我使用了上面的方法,但不幸的是它对我不起作用。我正在使用Python2.7,我得到了我刚刚在2.7.7中测试的“会话id未找到”。而且似乎有效。你的话和你的问题一样吗?也许它不适用于其他线路?
SESSION_ID=2a50250f-4a2e-4bf9-b1a7-7a8030333de2|||
sessionId=re.search(r'(SESSION_ID=[\w-]+)\|',line)

if sessionId:
    print(sessionId.group(1))     
else:
    print("Session id not found")
SESSION_ID=2a50250f-4a2e-4bf9-b1a7-7a8030333de2