diff --git a/mistune.py b/mistune.py index 19faa62..8fb04ae 100644 --- a/mistune.py +++ b/mistune.py @@ -373,9 +373,9 @@ def parse_table(self, m): cells = cells.split('\n') for i, v in enumerate(cells): v = re.sub(r'^ *\| *| *\| *$', '', v) - cells[i] = re.split(r' *\| *', v) + cells[i] = re.split(r' *(?Cell 5Cell 6Cell 7Cell 8 + + + + + + + + +
Header 1Header 2
Cell 1Cell 2 with a pipe in | inline code
Cell 3Cell 4 with escaped | pipe for some content
diff --git a/tests/fixtures/extra/gfm_tables.text b/tests/fixtures/extra/gfm_tables.text index 5fd6321..966a74d 100644 --- a/tests/fixtures/extra/gfm_tables.text +++ b/tests/fixtures/extra/gfm_tables.text @@ -19,3 +19,8 @@ Header 1|Header 2|Header 3|Header 4 :-------|:------:|-------:|-------- Cell 1 |Cell 2 |Cell 3 |Cell 4 *Cell 5*|Cell 6 |Cell 7 |Cell 8 + +Header 1 | Header 2 +-------- | -------------------------------------------- +Cell 1 | Cell 2 with a pipe in `\|` inline code +Cell 3 | Cell 4 with escaped \| pipe for some content