regex - 删除 `;` 和 `CRLF` 之间的所有空格

标签 regex notepad++

我使用的是 Notepad++ v8.4.6。

我想在 Windows 上替换行尾 ; 后面的所有空格。

我用过这个:

;\s{1,}[r\n]+

它找到正确,但是当我尝试替换、删除 ; 和 CRLF 之间的所有空格时,它没有执行任何操作。

如何删除;CRLF之间的所有空格?

这是我尝试过的:

enter image description here

最佳答案

如果您想“删除 ; 和 CRLF 之间的所有空格” 并且换行符是强制的,您可以匹配 ; 然后忘记到目前为止匹配的内容\K

然后用 \h+ 匹配一个或多个水平空白字符,并用 \R 断言任何 unicode 换行符序列。

请注意\s 也匹配换行符。

;\K\h+(?=\R)

;\K\h+(?=\r\n)

如果您只想匹配水平空白字符,直到要删除的字符串末尾:

;\K\h+$

enter image description here

更换后:

enter image description here

关于regex - 删除 `;` 和 `CRLF` 之间的所有空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76256597/

相关文章:

java - Notepad++ 当前目录

notepad++ - Notepad++ 中 ctag 的设置

regex - 是否有一个正则表达式可以从字符串中解析出最长的数字列表?

java regex - 存储在变量中的字符串的匹配部分

notepad++ - Notepad++ 如何保存工作区的状态?

javascript - Notepad++ 中的换行符

Notepad++ HTML Tidy 未知异常 Windows 7 x64

regex - 正则表达式相关 : first character alphabet second onwards alphanumeric+some special characters

regex - Perl 脚本与单行脚本 - 正则表达式的功能差异

regex - 如何用正则表达式查找包含某个字母的单词?