2016-09-04 68 views
0

我是新来的正则表达式,我很难从网页抓取一些数据。我有两个字符串形式:正则表达式 - 在边界内捕获单词

\n\n\n\nHELLO & EVERYONE\n What's up?

而且我要到4个\n S和其他\n内捕捉一切。

HELLO & EVERYONE

我一直没能得到任何工作,沿着/ \n{4}(\w+)\n /线的东西?

回答

1

使用:(?:\\n){4}(.*)\\n

您需要在非捕获组来包装你的“\n”否则系统会将其视为“尝试和匹配n 4倍”来代替。

另外\是一个特殊字符,所以你必须指定\\但注意“不适用于Javascript”。

那么,什么是表达的意思是说,找\ n \ n \ n \ n和然后捕获一切​​从那里,直到,直到你看到未来\n

参见:
https://regex101.com/r/yA9mV3/1

而且,因为你正在做Javascript,这里是一个实现;

var data = "\n\n\n\nHELLO & EVERYONE\n What's up" 
 

 
var matches = /(?:\n){4}(.*)\n/.exec(data); 
 

 
console.log(matches[1]);

+0

完美,谢谢! – ggordon