正则表达式缩进 - 在行

时间:2016-01-18 15:12:22

标签: c# regex

我在C#中使用正则表达式。我想将一场比赛换成新线并缩进。通过缩进,我的意思是应该保留并添加预先存在的选项卡,它们存在于包含匹配的行的开头。

使用正则表达式匹配和替换进行此操作的最佳方法是什么?

例如,匹配逗号后面的单词:

W 1, 2, 3
    W 4, 5, 6
        W 7, 8, 9

应该导致:

W 1,
    2,
    3
    W 4,
        5,
        6
        W 7,
            8,
            9

我可以与(?<=,)匹配,只需替换为\n甚至\n\t。但是,使用此方法时,缩进会针对每个匹配重置为一个选项卡,并且不会遵循预先存在的缩进。

我也尝试使用命名组,例如通过(?<tabs>^\t+|\n\t+)查看现有缩进,并匹配通过(?<words>(?<=,))缩进。但是,我无法弄清楚如何将它组合成一个匹配和一个替换正则表达式模式。

1 个答案:

答案 0 :(得分:1)

这是我提出的问题。它没有使用任何正则表达式,因为这个问题并不需要使用它们。你可以自己决定这是否适合你:)

Working dotnetfiddle

root@*****:/opt/piwik/config# ll
total 740
drwxr-xr-x  3 www-data www-data   4096 janv. 18 17:28 ./
drwxr-xr-x 12 root     root       4096 oct.  22 14:00 ../
-rw-r--r--  1 www-data www-data   2362 janv. 18 17:33 config.ini.php
drwxr-xr-x  2 root     root       4096 juin  16  2015 environment/
-rw-r--r--  1 root     root      38724 oct.  22 14:00 global.ini.php
-rw-r--r--  1 root     root       3230 août  14 04:41 global.php
-rw-r--r--  1 root     root     695563 oct.  22 14:00 manifest.inc.php