Regex查找正则表达式的几种外观



我找不到正确的正则表达式来解决这种自适应。来自


<td> foo </td>
<td> bar </td>
|
<td> two foo </td>
<td> two bar </td>
|

我想去

<tr>
<td> foo </td>
<td> bar </td>
</tr></tr>
<td> two foo </td>
<td> two bar </td>
</tr>

通过识别正则表达式CCD_ 1的N个重复。

我能得到一些帮助吗?

谢谢!

#编辑:我自己用不同的格式生成html代码(最初的输入是

| foo | bar | | twofoo | twobar |

我就是从中产生的(。

我正在JS上进行转换,但为了尝试它,我使用https://regex101.com/,如果知道有用的话。

如果我是你,从你的原始输入开始,我会分别处理每个部分(表的开头/tds之间/trs之间/表的结尾(。这更容易,每个部分都处理一次。

你可以在正则表达式中添加一个空格或s,这取决于你是否想在单词周围保留空格,因为我不符合你的预期输出。

按此顺序:

开始:^|->替换为<tr>n <td>

结束:|$->替换为</td>n</tr>

trs:<td>(.*)</td>0->更换为</td>n</tr>n<tr>n <td>

最后在tds:|->更换为</td>n <td>

js示例:

var input = '| foo | bar | | twofoo | twobar |';
input = input.replace(/^|/, '<tr>n  <td>');
input = input.replace(/|$/, '</td>n</tr>');
input = input.replace(/| |/g, '</td>n</tr>n<tr>n  <td>');
input = input.replace(/|/g, '</td>n  <td>');
console.log(input);

最新更新