js和xregexp试图在组匹配中包含一个额外的换行符

时间:2015-07-13 22:17:11

标签: javascript regex coffeescript

我的psuedo coffeescript代码:

xre = require('xregexp').XRegExp
bodyRe = xre(
  '\\*\\s(?<body>.*)', 'img')
xre.forEach @blob, bodyRe, (match, i) ->
  console.log match

我想要匹配的数据:

  * Fix threaded execution
  * More fixes
    Spans additional lines  # <- Include this and any additional lines
  * Tartar sauce

结果:

['Fix threaded execution',
 'More fixes',
 'Tartar sauce']

期待的是什么:

['Fix threaded execution',
 'More fixes\nSpans additional lines',
 'Tartar sauce']

到目前为止,这会捕获以*开头的所有行,但我想从第一个*到不存在*的行的末尾匹配。

一个例子会很好,但是,我更感兴趣的是我应该研究什么来更好地处理这个特定的用例。

1 个答案:

答案 0 :(得分:1)

这种行为的原因是点符号与换行符不匹配,因此您应该将regexp更改为类似的行为:

'\\*\\s(?<body>[^\\*]*)'