python中的正则匹配问题。

importre
str=''
result=re.findall('t[^>]*name=\"__VIEWSTATE\"[^>]*value=\"([^"]*)\"[^>]*>',str)
printresult
为何输出是
dDwyODE2NTM0OTg7Oz5K4/a3o5bbNExGrhnw9E1HvQLfjg==
而不是
呢?
千万里不及你
浏览 363回答 2
2回答

慕无忌1623718

Returnallnon-overlappingmatchesofpatterninstring,asalistofstrings.Thestringisscannedleft-to-right,andmatchesarereturnedintheorderfound.Ifoneormoregroupsarepresentinthepattern,returnalistofgroups;thiswillbealistoftuplesifthepatternhasmorethanonegroup.Emptymatchesareincludedintheresultunlesstheytouchthebeginningofanothermatch.我把文档处加黑了,注意你的正则里有capturegroup,findall()只返回含有capturegroup的结果。

GCT1015

首先,你不应该使用findall的方法,只是匹配这段文字且匹配一次,直接用search即可。具体可以参考python正则表达式的使用。其次,你正则也写错了,肯定是匹配不出来你要的那个结果。改了一下你的代码,这段代码运行结果和你预期一致,但估计实际使用的正则还要根据情况进行调整。importrestr=''result=re.search(']*name=\"__VIEWSTATE\"[^>]*value=\"([^"]*)\"[^>]*>',str)printresult
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript