正则表达式 - 在边界内捕获单词
Regex - Capture words within boundaries
我是 Regex 的新手,很难从网络抓取中捕获一些数据。我拥有的字符串采用以下形式:
\n\n\n\nHELLO & EVERYONE\n What's up?
我想捕获 4 \n
和其他 \n
内的所有内容。
即HELLO & EVERYONE
我无法使任何东西正常工作,类似于 / \n{4}(\w+)\n /
?
使用:(?:\n){4}(.*)\n
您需要将“\n
”包裹在非捕获组中,否则系统会将其视为 "try and match n
4 times"。
此外,\
是一个特殊字符,因此您必须指定 \
,但请注意 "not applicable to 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]);
我假设 \n
实际上意味着换行。
/\n{4}(.+)\n/m
https://regex101.com/r/rG3sM4/2
您错过了多行匹配的 m
。
而\w
不匹配空格,所以最好使用.
。
我是 Regex 的新手,很难从网络抓取中捕获一些数据。我拥有的字符串采用以下形式:
\n\n\n\nHELLO & EVERYONE\n What's up?
我想捕获 4 \n
和其他 \n
内的所有内容。
即HELLO & EVERYONE
我无法使任何东西正常工作,类似于 / \n{4}(\w+)\n /
?
使用:(?:\n){4}(.*)\n
您需要将“\n
”包裹在非捕获组中,否则系统会将其视为 "try and match n
4 times"。
此外,\
是一个特殊字符,因此您必须指定 \
,但请注意 "not applicable to 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]);
我假设 \n
实际上意味着换行。
/\n{4}(.+)\n/m
https://regex101.com/r/rG3sM4/2
您错过了多行匹配的 m
。
而\w
不匹配空格,所以最好使用.
。