【发布时间】:2015-04-14 00:31:49
【问题描述】:
我有这个数据,实际上是一个降价表:
blah blah blah
| Tables | Are | Cool |
| ------------- |:-------------:| -----:|
| col 3 is | right-aligned | $1600 |
| col 2 is | centered | $12 |
| zebra stripes | are neat | $1 |
blah blah
blah
我想做一个正则表达式匹配并取出管道之间的值。
理想情况下,我想为每行创建一个组,然后为每个“单元格”创建一个子组。
更理想的是,我想确保每行中有相同数量的单元格/列。
我的尝试要么匹配行/表中的最后一个单元格,要么每隔一个单元格匹配一次。这完全炸毁了:
\|(?:([^\r\n\|]*)\|)+\r?\n\|(?:(\:?-+\:?)\|)+\r?\n(\|(?:([^\r\n\|]*)\|)+\r?\n)+
这也很惨:^#(?:([^#]+)#)+$
正在寻找 javascript 或 C# 中的解决方案。
【问题讨论】:
-
输入的是单个字符串吗?
标签: javascript c# regex