2015-02-07 2 views
-1

Редактировать: yayy, это вопрос, который меня запретил. благодаря сообществу.Как получить атрибуты функции внутри html?

Я пытаюсь захватить функцию redirecttoauth с регулярным выражением, но это не делает то, что я ожидаю.

start = 'function redirecttoauth(sessionid' 
end = '}' 
result = re.search('%s(.*)%s' % (start, end), s).group(1) 
print(result) 

и пытался бежать } и ), но это не сработало.

ответ

1

regex - действительно неправильный способ сделать это. для простого примера ваш подход может работать, вам нужен флаг DOTALL, хотя вам нужно избежать скобок:

import re 
s = r'''<html> 
<head> 
    <script type="text/javascript"> 
    function redirecttoauth(sessionid, test) { 
    function body ... 
    } 
    </script> 
</head> 
<body> 
</body> 
</html> 
''' 

start = r'function redirecttoauth\(sessionid' 
end = r'}' 
result = re.search(r'%s(.*)%s' % (start, end), s, re.DOTALL).group(1) 
print(result)