You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用正则表达式提取__appianCsrfToken的对应值?

提取__appianCsrfToken对应值的可行方案

问题背景

需要从包含RequestsCookieJar的字符串中提取__appianCsrfToken的值,现有正则表达式因匹配逻辑不符合字符串格式,无法正确获取目标值。

解决方案

方案1:优化正则表达式

原字符串中Cookie的格式为__appianCsrfToken=xxx for ...,值的结束标志是空格而非分号,因此调整正则以匹配空格前的内容:

import re
cookie_jar = "<RequestsCookieJar[<Cookie JSESSIONID=EA47DC319D1977863BBEC8E4AFB408DF.node60877 for tah.appiancloud.com/suite>, <Cookie SCS_REMEMBER_ME_COOKIE=jA0EAwMC3Bc7KwH4uMsB0kUBOqr2TjQT9LIqoOmfUaCFiPtA7JqG9A8lihrCrKyg6yK2EYEqkHvCfEQwVTcKP9CYYFtwGkG7rGDH8UY6IPhJPKa2tsg for tah.appiancloud.com/suite>, <Cookie SPRING_SECURITY_REMEMBER_ME_COOKIE=TExNTXNyJTJGQjBqVTN6OWFZQ0xSV1RuOVhVcEhtczdhNlFXd0swJTJCd2VGOEElM0Q6TGRQU0MlMkZHRVgyYVhKZldBTVQwQWdQVTMzWTA5VENvaUY0NWxBdlhiYSUyRlklM0Q for tah.appiancloud.com/suite>, <Cookie __appianCsrfToken=d815e694-2118-4b3e-92c7-6b750b9557d2 for tah.appiancloud.com/suite>, <Cookie __appianMultipartCsrfToken=f80ce677-9adf-409e-a755-89105f51437e for tah.appiancloud.com/suite>]>"

# 调整后的正则:匹配__appianCsrfToken=后到空格前的内容
match = re.search(r'__appianCsrfToken\s*=\s*([^\s]+)', cookie_jar)
if match:
    print(match.group(1))  # 输出: d815e694-2118-4b3e-92c7-6b750b9557d2

正则说明:

  • __appianCsrfToken\s*=\s*:匹配__appianCsrfToken=,并忽略前后可能存在的空格
  • ([^\s]+):捕获一个或多个非空格字符(即Token值,因为值后紧跟空格和for)

方案2:若处理实际RequestsCookieJar对象(非字符串)

如果cookie_jar是真实的RequestsCookieJar对象而非字符串,无需正则,直接调用对象方法即可:

from requests.cookies import RequestsCookieJar

# 假设cookie_jar是已初始化的RequestsCookieJar对象
csrf_token = cookie_jar.get('__appianCsrfToken')
print(csrf_token)  # 直接输出目标值

说明

方案1针对字符串形式的CookieJar内容,通过调整正则匹配逻辑准确捕获Token;方案2适用于实际的RequestsCookieJar对象,是更高效且不易出错的方式。

内容的提问来源于stack exchange,提问作者Ajay Kk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 04:55:33