UNPKG

marktable

Version:

Markdown table parser, editor and formater

18 lines (15 loc) 740 B
// 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)