In [1]:
import pycurl
sourceList = []
curlObj = pycurl.Curl()
curlObj.setopt(pycurl.URL, "http://www.pythonchallenge.com/pc/def/equality.html")
curlObj.setopt(pycurl.WRITEFUNCTION, lambda x: sourceList.append(x.decode(encoding="UTF-8")))
curlObj.perform()
In [2]:
import functools, operator
sourceCode = functools.reduce(operator.concat, sourceList)
In [3]:
import re
matches = re.findall("<!--(.*?)-->", sourceCode, re.DOTALL)
In [7]:
len(matches)
Out[7]:
In [4]:
searchSpace = matches[0].translate({ord("\n"):None})
In [23]:
soln = [x.group(1) for x in re.finditer("[^A-Z][A-Z]{3}([a-z])[A-Z]{3}[^A-Z]", searchSpace)]
In [24]:
soln
Out[24]:
In [8]:
soln2 = re.findall("[^A-Z][A-Z]{3}([a-z])[A-Z]{3}[^A-Z]", searchSpace)
In [9]:
soln2
Out[9]:
In [ ]: