Regex获取脚本函数体
Regex to get scriptfunction body
我有一个文档,需要这个文档中的函数体
这是文档的一部分
<script type="text/javascript">
//<![CDATA[
(function(){
var a = function() {try{return !!window.addEventListener} catch(e) {return !1} },
b = function(b, c) {a() ? document.addEventListener("DOMContentLoaded", b, c) : document.attachEvent("onreadystatechange", b)};
b(function(){
var a = document.getElementById('cf-content');a.style.display = 'block';
setTimeout(function(){
var t,r,a,f, vsFCUji={"GqfTZuOkv":+((!+[]+!![]+!![]+[])+(+[]))};
t = document.createElement('div');
t.innerHTML="<a href='/'>x</a>";
t = t.firstChild.href;r = t.match(/https?:'/'//)[0];
t = t.substr(r.length); t = t.substr(0,t.length-1);
a = document.getElementById('jschl-answer');
f = document.getElementById('challenge-form');
;vsFCUji.GqfTZuOkv+=+((+!![]+[])+(!+[]+!![]+!![]));vsFCUji.GqfTZuOkv+=!+[]+!![]+!![];vsFCUji.GqfTZuOkv+=+((+!![]+[])+(+[]));vsFCUji.GqfTZuOkv+=+((!+[]+!![]+!![]+!![]+[])+(+[]));vsFCUji.GqfTZuOkv-=+((!+[]+!![]+[])+(+[]));a.value = parseInt(vsFCUji.GqfTZuOkv, 10) + t.length;
f.submit();
}, 4000);
}, false);
})();
//]]>
</script>
这是我需要的结果从setTimeout(function(){
:
+((!+[]+!![]+!![]+[])+(+[]))
我将使用这个命令获取文档
Document document = Jsoup.connect(encoded_url).timeout(10000).userAgent("Mozilla/5.0 (compatible, MSIE 11, Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko").method(Connection.Method.GET).get();
然后我运行这个命令从文档中获取函数体。
Pattern pattern_1 = Pattern.compile("setTimeout''(function''('')''{'s*.*?.*:(.*?)};");
Matcher m = pattern_1.matcher(document.html());
Log.d("Matcher", "output:" + m.matches());
Wiktor Stribiżew
提出的解决方案
一个问题是,您使用的匹配需要一个完整的字符串匹配。另一个是有很多线,而且。在你的情况下没有模式。DOTALL不匹配换行符。可以有未知数量的{和}。
相关文章:
- 为什么我的控制器没有启动函数.js脚本
- 如何在 JavaScript 中获取函数体文本
- Javascript重新定义和覆盖现有的函数体
- 为什么可以'我们在函数体中为函数对象添加属性,就像在javascript中为对象文字添加属性一样
- 在运行时将代码插入函数体
- 从函数(咖啡脚本)内以定时间隔触发函数
- 从函数体参数中获取值
- 为什么错误显示为函数体之前缺少{
- 如何在jquery中使用函数体onload
- 如何编写一个函数的脚本,为HTML中显示的JavaScript计数计时器添加秒数
- 使用函数(java脚本)将值设置为对象
- 如何使 Tampermonkey 添加的函数在脚本运行后在控制台中可用
- JS:正则表达式,用于查找函数体中的所有函数调用
- 将函数的脚本内容转换为字符串
- JavaScript 声明的函数在脚本加载时消耗多少内存
- 如何使 PHP 函数等到脚本结束执行
- 单独的回调函数 Java 脚本
- CoffeeScript::我不知道为什么在使用 ajax 时返回函数体
- 为什么函数变量(当登录控制台时)没有显示整个函数体
- Regex获取脚本函数体