我的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']
到目前为止,这会捕获以*开头的所有行,但我想从第一个*到不存在*的行的末尾匹配。
一个例子会很好,但是,我更感兴趣的是我应该研究什么来更好地处理这个特定的用例。
答案 0 :(得分:1)
这种行为的原因是点符号与换行符不匹配,因此您应该将regexp更改为类似的行为:
'\\*\\s(?<body>[^\\*]*)'