regex - Notepad++ 删除空行的单个实例
问题描述
我熟悉如何使用 Notepad++ 从文本文件中删除空白/空行。
但是,我看不到删除单个空行实例的方法(例如,而不是整个文本文件中的 1 行,我希望能够删除单个空行,但没有删除单个空行的情况例如连续 3 个空行)。
此外,使用下面的示例,是否有任何方法可以删除连续有 2 个以上空行的空行块,只留下一行 2 个空行。我意识到我可能需要连续运行两个不同的正则表达式命令,而不是同时进行这样的整理。
例如,从这个开始:
PROCEDURE post_insert (
x_afe_number IN VARCHAR2,
x_afe_sub_type IN VARCHAR2,
x_amend_or_suppl_num IN NUMBER);
PROCEDURE Insert_Row
(x_rowid IN OUT VARCHAR2
,x_afe_number VARCHAR2
,x_afe_sub_type VARCHAR2
,x_amend_or_suppl_num IN OUT NUMBER
,x_project_desc VARCHAR2
我想删除单个空行,最终得到:
PROCEDURE post_insert (
x_afe_number IN VARCHAR2,
x_afe_sub_type IN VARCHAR2,
x_amend_or_suppl_num IN NUMBER);
PROCEDURE Insert_Row
(x_rowid IN OUT VARCHAR2
,x_afe_number VARCHAR2
,x_afe_sub_type VARCHAR2
,x_amend_or_suppl_num IN OUT NUMBER
,x_project_desc VARCHAR2
但是,我无法弄清楚如何做到这一点,因为如果我这样做:
Edit > Line Operations > Remove Empty Lines
我最终得到了这个:
PROCEDURE post_insert (
x_afe_number IN VARCHAR2,
x_afe_sub_type IN VARCHAR2,
x_amend_or_suppl_num IN NUMBER);
PROCEDURE Insert_Row
(x_rowid IN OUT VARCHAR2
,x_afe_number VARCHAR2
,x_afe_sub_type VARCHAR2
,x_amend_or_suppl_num IN OUT NUMBER
,x_project_desc VARCHAR2
解决方案
- Ctrl+H
- 找什么:
[^\r\n]\R\K\R(?=[^\r\n])|((\R)\2)\1*
- 用。。。来代替:
$1$2
- 检查 环绕
- CHECK 正则表达式
- Replace all
解释:
[^\r\n] # not a linebreak
\R # any kind of linebreak
\K # forget all we have seen until this position
\R # any kind of linebreak
(?=[^\r\n]) # positive lookahead, make sure we have a character that is not a linebreak after
| # OR
( # group 1
(\R) # group 2, any kind of linebreak
\2 # backreference to group 2, linebreak
) # end group 1
\1* # backreference to group , double linebreak, may appear 0 or more times
替代品:
$1 # content of group 1, 2 linebreak
$2 # content of group 2, 1 linebreak
截图(之前):
截图(之后):
推荐阅读
- python - 在 Django 中,如何使用 GET 表单仅更改模板中 url 上的特定参数?
- python - 散景悬停突出显示的边缘随鼠标移动而变化
- javascript - 从嵌套对象创建无序列表树 - JavaScript
- html - HTML/CSS(以 PDF 格式呈现)在第一页的页脚之后显示第二页
- python-3.x - 使用 TTLCache::cachetools
- python - 从 Yocto 构建 aiortc 库(Python)
- spring-boot - 如何根据任意 http 标头创建主体?
- yaml - 将值从一个文件(加密)传递给 yaml,其中包含 yaml
- python - 如何在 python 文件中设置 PYTHONHASHSEED
- python - 如何总结具有多个条件的元组列表中的最后一个数字/元素?