Java BASH控制序列解析器还是正则表达式?
我偶然发现了这个主题,因为我正在开发一个控制台应用程序,目前在Windows机器上使用Cygwin运行它(但在某个阶段它也必须在LinuxBash中运行) 起初,我只想应用颜色,所以我发现了所有这些前景色和背景色的(ESC)[31m…(ESC)[1m”类型指令 但是在测试的过程中,我也希望能够剥离这些代码,只获得“非标记”文本。对于其他形式的标记(尤其是HTML),有可用的工具。对于这些控制台代码,有类似的工具吗?通过谷歌搜索,我在C中找到了一些东西,在Python中找到了一些东西,但在Java中什么都没有 我想这里涉及的代码(对于Cygwin和BASH)是“ANSI”控制代码…但我不确定。有人能确认一下吗Java BASH控制序列解析器还是正则表达式?,java,bash,console,cygwin,ansi,Java,Bash,Console,Cygwin,Ansi,我偶然发现了这个主题,因为我正在开发一个控制台应用程序,目前在Windows机器上使用Cygwin运行它(但在某个阶段它也必须在LinuxBash中运行) 起初,我只想应用颜色,所以我发现了所有这些前景色和背景色的(ESC)[31m…(ESC)[1m”类型指令 但是在测试的过程中,我也希望能够剥离这些代码,只获得“非标记”文本。对于其他形式的标记(尤其是HTML),有可用的工具。对于这些控制台代码,有类似的工具吗?通过谷歌搜索,我在C中找到了一些东西,在Python中找到了一些东西,但在Java
如果没有一个完整的解析器,一个涵盖所有情况的正则表达式会很有帮助。如果有必要,我会尝试自己从文档中推出一个,但最好从专家那里买一个…看看著名的库-特别是在那里:
AnsiString ansiString = new AnsiString("string with escape codes");
String plainString = ansiString.getPlain();
您还可以看看Eclipse插件。它是一个Eclipse插件,能够理解ANSI转义序列来为Eclipse控制台输出着色。谢谢,看起来很棒!(稍后)Jansi显然是一个不错的选择……但是文档(甚至Javadoc注释)还有很多需要改进的地方。我目前没有使用它,而是“自己滚动”,因为我的需求目前非常简单(即一点颜色和粗体)。我还需要检查Jansi源代码以了解如何使用它,faute de mieux。