【发布时间】:2019-09-21 18:26:43
【问题描述】:
我正在尝试清理一些汇编代码,并且我想将指令和参数之间的空格转换为制表符。但是,我想避免无意中转换分号后 cmets 中单词之间的空格。
下面是一些代码行的示例:
label: bcf INTCON,2 ; comment comment and more comment.
btfss PORTA,2
我最接近的是(?<=^).+(?=;)。这不仅匹配行首和分号之间的所有内容,而且包括除了最后一个分号之外的所有分号。想象一下带有被注释掉的 cmets 的代码行。也不考虑没有cmets的行。
我该怎么做?
【问题讨论】:
-
感谢您的编辑!我正试图让代码部分看起来正确,你打败了我。 :) 基本上将 bcf INTCON,2 之间的空格更改为两个制表符,并对所有代码行执行此操作。
-
预期结果是什么?
-
恐怕这些答案都不能解决这个问题。让我们这样看:匹配并突出显示该行的第一个空格,仅此而已。我的意思是 space 就像在 \0x20 中一样,而不是空格(制表符等)。行首和第一个分号之间只有 1 个空格字符。我想避免包括第一个分号之后的所有内容。
-
那么这些是指令之前和操作数之后的制表符,而不是空格?
-
像
;.*(*SKIP)(*F)|\b \b这样简单的东西怎么样