jon*_*erg 2 regex code-formatting negative-lookbehind removing-whitespace
我正在努力处理旧的“格式化”代码,其中添加了大量空格来排列 = 等:
if (!This.RevData.Last().Size() eq 0) then
!DocRev = '?'
!Status = '?'
!RevCode = '?'
else
!Pad = !This.RevData.Last()[1]
!DocRev = !Pad[2]
!Status = !This.GenUtil.If((!Pad[3] eq 'UA'), '' , !Pad[3])
!RevCode = !This.GenUtil.If((!Pad[6] eq '' ), '?', !Pad[6])
endif
Run Code Online (Sandbox Code Playgroud)
在这个例子中,它实际上是有一定意义的,但大多数情况下,代码已被修改为一种状态,使空白更加混乱而不是有用。
我想做的是将所有双(或更多)空格替换为单个空格,但我当然希望保留缩进。因此,我正在寻找一个正则表达式来识别不在行开头的双(或更多)空格。我尝试过否定lookbehind,但似乎无法使其工作:
(?<![\n])[\s]{2,}
Run Code Online (Sandbox Code Playgroud)
有什么提示吗?哦,我正在使用 Ultraedit(Perl 正则表达式引擎),因此正则表达式应该是“UE 兼容的”。
编辑:UE不会逐行评估正则表达式的行;换行符只是文档长字符串中的一个字符,这使问题变得有点复杂。
| 归档时间: |
|
| 查看次数: |
1590 次 |
| 最近记录: |