BASH控制序列解析器还是正则表达式?

时间:2017-02-26 20:39:59

标签: java bash console cygwin ansi

我偶然发现了这个话题,因为我正在开发一个控制台应用程序,目前在使用Cygwin运行它的Windows机器上(但它必须在某个阶段也在Linux BASH中运行)。 / p>

最初我想做的就是应用颜色,所以我发现了所有这些"(ESC)[31m ...(ESC)[1m" type directives ...用于前景色和背景色。

但是在测试过程中,我也希望能够剥离这些代码并进入非标记"文本。使用其他形式的标记(特别是HTML),有可用的工具。这些控制台代码有这样的东西吗?谷歌搜索我在C中发现了一些东西,但在Python中却找不到东西。

认为这里涉及的代码(对于Cygwin和BASH)是" ANSI"控制代码......但我不确定。有人可能会证实这一点吗?

如果没有一个完整的解析器,覆盖所有情况的正则表达式将会有所帮助。如果有必要的话,我会尝试从文档中自己滚动一个,但是从专家那里得到一个现成的很好......

1 个答案:

答案 0 :(得分:1)

查看众所周知的jansi库 - 尤其是AnsiString

AnsiString ansiString = new AnsiString("string with escape codes");
String plainString = ansiString.getPlain();

您还可以查看Eclipse的ansi-econsole插件。它是一个Eclipse插件,可以理解ANSI转义序列,为Eclipse控制台输出着色。