All files regex.js

100% Statements 8/8
100% Branches 0/0
100% Functions 0/0
100% Lines 8/8
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18    1x     1x 1x 1x 1x 1x 1x           1x  
// Some regex are inpired from MultiMarkdown perl implementation
// https://github.com/fletcher/MultiMarkdown/blob/master/bin%2FMultiMarkdown.pl
var debug = require('debug')('marktable:regexp')
 
// Reusable regex parts
exports.tableCaption = /\[.*?\][ \t]*[\n]*/
exports.firstRow = /\S+.*?/
exports.headerRow = /[^\n]*?\|[^\n]*?\n/
exports.tableDivider = /[|\-+:.][ \-+|:.]*\|[ \-+|:.]*?\n/
exports.tableRows = /(?:\n?[^\n]*?\|[^\n]*\n|\n?[.\s]+?)+/
exports.wholeTable = new RegExp(
  '(' + exports.tableCaption.source + ')?' +
  '(' + exports.firstRow.source + '(?:' + exports.headerRow.source + ')+?)?' +
  '(' + exports.tableDivider.source + ')' +
  '(' + exports.tableRows.source + ')')
 
debug('Whole table regex:', exports.wholeTable)