用python打印搜索结果
我是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
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