trilisser Asked: 2023-11-29 14:21:13 +0800 CST2023-11-29 14:21:13 +0800 CST 2023-11-29 14:21:13 +0800 CST Ubuntu 22.04 的 gedit 文本编辑器中以正则表达式开头 772 我尝试使用正则表达式,例如在 Ubuntu 22.04 的编辑器^中查找行的开头,gedit但它不起作用。也用作$行尾。 其他正则表达式如\n, \d,\s效果很好 regular-expression 1 个回答 Voted Best Answer Stéphane Chazelas 2023-12-05T16:36:45+08:002023-12-05T16:36:45+08:00 ^如果您勾选正则表达式框但 跳过空匹配项,则可以在“查找和替换”$中工作。geditgedit ^$,^单独匹配空字符串,因此不会被替换。x*匹配 0 个或多个x,但gedit不会替换匹配 0 的匹配项x,因此它相当于使用x+. 如果您想使用查找和替换在行的开头插入某些内容,而不是替换^为something,这不起作用,您可以将^.(行的第一个字符)替换为something\0(something后跟匹配的字符),轴承请记住,它不适用于^.不匹配的空行。 不过,您可以替换(?s)^.为something\0. 通过启用该s标志,.还将匹配换行符,因此它也适用于空行。我发现它不起作用的唯一情况是在最后一行,如果它恰好为空,大概是因为gedit不包含其正则表达式匹配的缓冲区中最后一行的行分隔符。 要将空行替换为something,请替换^\n为something\n而不是^$with something。同样,这对于最后一行不起作用。
^
如果您勾选正则表达式框但 跳过空匹配项,则可以在“查找和替换”$
中工作。gedit
gedit
^$
,^
单独匹配空字符串,因此不会被替换。x*
匹配 0 个或多个x
,但gedit
不会替换匹配 0 的匹配项x
,因此它相当于使用x+
.如果您想使用查找和替换在行的开头插入某些内容,而不是替换
^
为something
,这不起作用,您可以将^.
(行的第一个字符)替换为something\0
(something
后跟匹配的字符),轴承请记住,它不适用于^.
不匹配的空行。不过,您可以替换
(?s)^.
为something\0
. 通过启用该s
标志,.
还将匹配换行符,因此它也适用于空行。我发现它不起作用的唯一情况是在最后一行,如果它恰好为空,大概是因为gedit
不包含其正则表达式匹配的缓冲区中最后一行的行分隔符。要将空行替换为
something
,请替换^\n
为something\n
而不是^$
withsomething
。同样,这对于最后一行不起作用。