想要对齐一个下列格式的文本(使用|号进行分割的,| 是标点符号,不是小写的L):
|sdfsd|ddfd| |ddddddddddddddfffffff|sssssssssss| |ddddddfs|s99999999999999|
这个正则表达式要怎么书写呢? 看了一下官方的文档,并不是很清楚这样的格式写法。求教一下。
想要对齐一个下列格式的文本(使用|号进行分割的,| 是标点符号,不是小写的L):
|sdfsd|ddfd| |ddddddddddddddfffffff|sssssssssss| |ddddddfs|s99999999999999|
这个正则表达式要怎么书写呢? 看了一下官方的文档,并不是很清楚这样的格式写法。求教一下。
感觉一步到位似乎不行,想了个需要两步的办法
|sdfsd|ddfd|
|ddddddddddddddfffffff|sssssssssss|
|ddddddfs|s99999999999999|
C-u M-x align-regexp RET \w\(\)| RET 1 RET 1 RET y
|sdfsd |ddfd |
|ddddddddddddddfffffff |sssssssssss |
|ddddddfs |s99999999999999 |
C-u M-x align-regexp RET |\(\)\w RET 1 RET 1 RET y
| sdfsd | ddfd |
| ddddddddddddddfffffff | sssssssssss |
| ddddddfs | s99999999999999 |
C-u
用完整的正则表达式(默认会假设以 \(\s-*\)
开头,也就是说在 XXX 前面对齐,XXX 为你输入的表达式)。\w\(\)|
匹配下面的位置(用 ^^
表示)。第一个 1
选择刚才的正则表达式的第一个分组,这个位置是用来插入空格的(以期达到对齐的目的)。第二个 1
表示插入一个空格。y
表示替换所有的匹配(如你所见,下面每一行都有两个匹配)。
|sdfsd|ddfd|
^^ ^^
|ddddddddddddddfffffff|sssssssssss|
^^ ^^
|ddddddfs|s99999999999999|
^^ ^^
|\(\)\w
同理。
厉害厉害