我有2个输入文件。
输入1(包含多个网址):
(http://a.com/search?q=cache:QD7vZRHkPQoJ:ca.xyz.com/jobs2/view/17069404+&cd=1&hl=en&ct=clnk&gl=ca) (http://a.com/search?q=cache:G9323j2oNbAJ:ca.xyz.com/jobs2/view/5977065+&cd=1&hl=en&ct=clnk&gl=ca) (http://a.com/search?q=cache:aNspmG11qAJ:hk.xyz.com/jobs2/view/16988928+&cd=2&hl=zh-TW&ct=clnk&gl=hk) (http://a.com/search?q=cache:aNspmG11AJ:hk.xyz.com/jobs2/view/16988928+&cd=2&hl=zh-TW&ct=clnk&gl=hk) (http://a.com/search?q=cache:aNspmG11qAJ:hk.xyz.com/jobs2/view/16988928+&cd=2&hl=zh-TW&ct=cl k&gl=hk)
输入2(包含以下正则表达式):
.*/view/(\\d+)([+|&|cd|)?]+)?
\/\/[^\x2f]+\.[a-z]{2}\/\d\/$
\/\/[^\?]+\.php\?[a-z]+=\d{3}_\d+$
\/\/[^\x3f]+\.php\?([a-z]+=[0-9]{2,3}&){5}[a-z]+=[0-9]{2,3}$)
我的要求是匹配这些正则表达式中的每一个,以查看它们是否与第一个输入文件中的任何URL匹配(多对多)。
我是否必须使用REGEX_EXTRACT_ALL
单独编写每个正则表达式,或者有更好的方法吗? (可以通过加载两个文件并使用foreach / generate和字段名称来实现正则表达式而不是像下面的实际表达式那样吗?)
A = LOAD 'input1.txt' as line1;
B = LOAD 'input2.txt' as line2;
C = FOREACH A GENERATE REGEX_EXTRACT_ALL(line1,'B.line2');
dump C;