Python RegEx搜索从字符串中查找变量值

时间:2017-02-10 15:42:23

标签: python regex

我有一个来自服务器的HTML字符串。我想获取令牌的右侧。

vega.csrfToken = "019387r218r72r696r826r87469786487";

我正在使用.*csrfToken[\s="\w]+来匹配整行

csrfToken =  re.search('.*csrfToken[\s="\w]+', text, re.MULTILINE)

虽然某些正则表达式测试程序门户工作,但Python无法找到该行。 匹配线路需要进行哪些更改?什么是最好的方法,只有RHS到=在线。

1 个答案:

答案 0 :(得分:1)

首先,您需要为正则表达式使用r前缀,因为它需要被解释为原始字符串。其次,[\s="\w]+部分将匹配空格,等号,双引号和长度为1或更长的单词字符的任意组合,这些组合不会为您提供您想要的确切部分。此外,您还需要使用捕获分组才能获得预期的部分。

所以你可以简单地使用以下正则表达式:

csrfToken =  re.search(r'.*csrfToken\s=\s"(\w+)"', text, re.MULTILINE)

使用csrfToken.group(1)

获取预期的部分