Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python从字符串url提取会话id_Python_Regex - Fatal编程技术网

Python从字符串url提取会话id

Python从字符串url提取会话id,python,regex,Python,Regex,我有一个网址: mywebsite.com/idp/profile/SAML2/Redirect/SSO;jsessionid=CED11D31669BEAB45B4CDA651C7EBF3B.idp03?执行=e1s1 我想在分号之后但在.idp03:CED11D31669BEAB45B4CDA651C7EBF3B之前提取jsessionid值 如何使用Python实现这一点?我将在这里使用更谨慎的模式,检查jsessionid的终止条件之一: import re s = '/idp/pro

我有一个网址:

mywebsite.com/idp/profile/SAML2/Redirect/SSO;jsessionid=CED11D31669BEAB45B4CDA651C7EBF3B.idp03?执行=e1s1

我想在分号之后但在.idp03:CED11D31669BEAB45B4CDA651C7EBF3B之前提取jsessionid值


如何使用Python实现这一点?

我将在这里使用更谨慎的模式,检查
jsessionid
的终止条件之一:

import re

s = '/idp/profile/SAML2/Redirect/SSO;jsessionid=CED11D31669BEAB45B4CDA651C7EBF3B.idp03?execution=e1s1'

re.findall('jsessionid=(.*)\.',s)
# ['CED11D31669BEAB45B4CDA651C7EBF3B']
  • 。以防有延期
  • ??如果没有扩展名
    .idp03
  • 如果没有扩展名和查询参数,则为$
把这些放在一起,我们有:

input = '/idp/profile/SAML2/Redirect/SSO;jsessionid=CED11D31669BEAB45B4CDA651C7EBF3B.idp03?execution=e1s1'
result = re.search(r'jsessionid=(.*?)(?=[.?]|$)', input)

if result:
    print "jsessionid : ", result.group(1)
else:
    print "no jsessionid found"

这里我将使用一种更为谨慎的模式,即检查
jsessionid
的终止条件之一:

  • 。以防有延期
  • ??如果没有扩展名
    .idp03
  • 如果没有扩展名和查询参数,则为$
把这些放在一起,我们有:

input = '/idp/profile/SAML2/Redirect/SSO;jsessionid=CED11D31669BEAB45B4CDA651C7EBF3B.idp03?execution=e1s1'
result = re.search(r'jsessionid=(.*?)(?=[.?]|$)', input)

if result:
    print "jsessionid : ", result.group(1)
else:
    print "no jsessionid found"
  • (?)?
  • )哇,谢谢你这么快的回复!这正是我想要的。哇,谢谢你这么快的回复!这正是我想要的。