目前我有这个公式:
(var file = '(.*?)';|var e="(.*?)")
我正在尝试查找var file = '
和';
之间的所有内容。或var e="
和"
之间的所有内容。
我将|
用于OR条件。但是,当我为以下两个数据部分之一执行公式时,它最终返回:“ home.jsonnull”或“ nullhcp-home”。 我不想要空值。
我正在Screaming Frog上使用自定义正则表达式提取来爬网该网站:https://hcp.eylea.us。我希望它返回hcp-home。
潜在数据1:
$(document).ready(function () {
var file = 'home.json';
if (file !== undefined && file.length > 0) {
var fullFile = '/Content/json-schema/' + file;
$.get(fullFile, function (data, textStatus, jqxhr) {
$('body').append(data);
}, "text");
潜在数据2:
$(document).ready(function(){var e="hcp-home";if(e.length>0){$.get("/content/json-schema/"+e+".json",function(e,n,t){$("body").append(e)},"text")}});
答案 0 :(得分:0)
我更改了您的正则表达式以支持单引号和双引号。使用以下正则表达式,您可以获取整个匹配项以及引号之间的内容:
/var (?:file = |e=)['\"]([^'\"]*?)['\"]/
正则表达式开始匹配'var',后跟'file ='或'e =',后跟引号,然后匹配所有不是引号的内容(非贪婪),最后匹配引号。
这样做是针对“ var file
”和“ var e
”。
要获取引号之间的内容,请使用第1组。