这是一个技术问题,但作为一个练习,我的目的是编写一个 PS 来接受管道输入,并使用正则表达式作为参数,并突出显示与正则表达式匹配的任何文本。
我找不到任何信息的部分是它很容易匹配文本、捕获到缓冲区或替换文本。但是我需要用颜色控制替换匹配的文本,原始文本,然后恢复以前的颜色。除了使用写入输出之外,我似乎找不到任何生成颜色输出的方法,并且不能在一次写入中执行单独的颜色,这意味着:
- 匹配正则表达式
-write-host 在默认颜色匹配之前输出所有文本,使用 -NoNewLine
-write-host 匹配,使用 -NoNewLine
-write-host 剩下的
这看起来很混乱,如果我们想要支持多个匹配,就会变得更加混乱。有没有更雄辩的方法来做到这一点?