小编tmh*_*tmh的帖子

使用Notepad ++删除与正则表达式匹配的所有行(非)

如何在Notepad ++中删除所有匹配或不匹配正则表达式的行?

在Vim中,我会执行以下操作来删除所有匹配的行:

:g/regex/d
Run Code Online (Sandbox Code Playgroud)

并删除所有不匹配的行:

:!g/regex/d
Run Code Online (Sandbox Code Playgroud)

我在Notepad ++中寻找这些命令.

正如在" Notepad ++ - 删除具有特定文本的所有行 "中所解释的那样,我通常会采用消隐匹配行并删除空行的方法.有更简单的方法吗?


根据这个答案,Notepad ++> = 6.0的版本支持正则表达式中的匹配换行符,因此允许直接删除整行而不首先创建空行.当替换为空字符串时,以下模式应删除包含"foobar"的所有行:

^.*foobar.*\r\n
Run Code Online (Sandbox Code Playgroud)

现在,正如" 正则表达式匹配不包含单词的行? "中所讨论的那样,否定正则表达式并不是很简单.删除Notepad ++中不包含"foobar"的行将需要以下模式:

^((?!foobar).)*\r\n
Run Code Online (Sandbox Code Playgroud)

因为这是一个非常复杂的命令,只是为了删除不包含单词的行(或者可能是更复杂的表达式),我想知道是否有更简单的解决方案.

regex notepad++

9
推荐指数
1
解决办法
6698
查看次数

如何避免有条件的换行?

给出以下Go文本/模板代码:

Let's say:
{{ if eq .Foo "foo" }}
Hello, StackOverflow!
{{ else if eq .Foo "bar" }}
Hello, World!
{{ end }}
Run Code Online (Sandbox Code Playgroud)

Foo等于的情况下,我们得到以下输出"foo"

Let's say:

Hello, StackOverflow!
Run Code Online (Sandbox Code Playgroud)

(后跟换行符)

有没有办法摆脱多余的换行符?

我希望可以使用{{-and -}}语法完成此操作:

Let's say:
{{- if eq .Foo "foo" }}
Hello, StackOverflow!
{{- else if eq .Foo "bar" }}
Hello, World!
{{- end }}
Run Code Online (Sandbox Code Playgroud)

但是,这会产生illegal number syntax: "-"错误。

formatting go go-templates

5
推荐指数
1
解决办法
1476
查看次数

标签 统计

formatting ×1

go ×1

go-templates ×1

notepad++ ×1

regex ×1