我的输入如下所示:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. _4,7,13 Nullam suscipit orci sit amet feugiat facilisis. Curabitur eget 8 ligula malesuada, vehicula 3,6 quam sit amet, _5 tempor velit.
我需要使用单个正则表达式单独捕获逗号分隔列表中以 _
开头的每个数字。
换句话说,我需要上面的粗体数字:
[4, 7, 13, 5]
我一次又一次地尝试完成这项工作,但没有成功。我想知道在放弃并使用多个表达式之前这是否可能。
我正在寻找 Javascript 的解决方案,但显然任何指针都会有帮助。
最佳答案
您可以在 Javascript 中使用此代码:
var input = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. 4,7,13 Nullam suscipit orci sit amet feugiat facilisis. Curabitur eget 8 ligula malesuada, vehicula 3,6 quam sit amet, 5 tempor velit.';
var matches = [];
input.replace(/_(\d+(?:,\d+)*)\b/g, function($0, $1) {
matches = matches.concat( $1.split(/,/g) ); return $1; } );
console.log(matches);
//=> ["4", "7", "13", "5"]
关于javascript - 使用单个正则表达式从多个列表中捕获项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26490380/