我有一个来自服务器的HTML字符串。我想获取令牌的右侧。
vega.csrfToken = "019387r218r72r696r826r87469786487";
我正在使用.*csrfToken[\s="\w]+
来匹配整行
csrfToken = re.search('.*csrfToken[\s="\w]+', text, re.MULTILINE)
虽然某些正则表达式测试程序门户工作,但Python无法找到该行。 匹配线路需要进行哪些更改?什么是最好的方法,只有RHS到=在线。
答案 0 :(得分:1)
首先,您需要为正则表达式使用r
前缀,因为它需要被解释为原始字符串。其次,[\s="\w]+
部分将匹配空格,等号,双引号和长度为1或更长的单词字符的任意组合,这些组合不会为您提供您想要的确切部分。此外,您还需要使用捕获分组才能获得预期的部分。
所以你可以简单地使用以下正则表达式:
csrfToken = re.search(r'.*csrfToken\s=\s"(\w+)"', text, re.MULTILINE)
使用csrfToken.group(1)