正则表达式从来就不是我强大的套件,所以我需要一些帮助。我有一个文本文件,我想用空格替换任何“嵌入式”选项卡,只有一个空格用于x次出现的选项卡,但只保留任何“前导”选项卡。
所以对于看起来像这样的一行:
\t\t\tThis is a\t\ttest to see\thow things\t will work.
看起来像这样:
\t\t\tThis is a test to see how things will work.
因此,文件中剩下的唯一选项卡将位于任何行的开头,并且在任何行的开头可能有x个选项卡。任何人都可以帮我解决这个问题吗?
我正在使用NotePad ++ Search / Replace执行此操作,但如果可以更好地使用Visual Studio或其他工具,我可以使用它。
答案 0 :(得分:3)
找到:
(?<!\t)(?!^)\t+
标签\t+
的顺序不得以标签(?<!\t)
开头,也不得从第(?!^)
行的开头开始。
替换为:
<space>
Demo on regex101(因为Notepad ++也使用PCRE,为了清晰起见,我使用t
代替标签)