1

我的输入如下所示:

Lorem ipsum dolor sit amet, consectetur adipiscing elit。_ 4 , 7 , 13 Nullam suscipit orci sat amet feugiat facilisis。Curabitur eget 8 ligula malesuada,vehicula 3,6 quam sit amet,_ 5 tempor velit。

_我需要单独并使用单个正则表达式来捕获逗号分隔列表中的每个数字。

换句话说,我需要上面的粗体数字:

[4、7、13、5]

我一直在一次又一次地尝试使这项工作没有成功。我想知道在没收并使用多种表达方式之前这是否可能。

我正在寻找 Javascript 中的解决方案,但显然任何指针都会有所帮助。

4

2 回答 2

1

您可以在 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"]
于 2014-10-21T15:40:28.340 回答
0
(_\d+(?:,\d+)*)

试试这个。抓住捕获。然后按,.See 演示。

http://regex101.com/r/rQ6mK9/23

于 2014-10-21T15:38:31.963 回答