我如何只在正则表达式中找到换行符?

How do I only find newlines in a Regex?

我有一个正则表达式,它可以找到在字符串中编码为 \n 的换行符(不是实际的换行符),但它也可以找到编码的转义换行符 (\n),就像单词 [= 之前​​一样20=] 在下面的字符串中。

var rg = '/(\n)/g'
var str = 'so you can do pretty much \nanything you want with it. \n\nAt runtime Carota has'

如何找到所有换行符和转义换行符的 none?

这里有一个 link 示例。 https://regexr.com/4fna7

我假设您正在使用 JavaScript。在这种情况下,您可以像这样简单地使用 Regex literals

/\n/

这将匹配所有换行符。如果你不能使用 Regex 文字,JS 还提供了一个构造函数,它接受一个字符串

new RegExp('\n')

为了匹配 \n,您需要转义反斜杠:

/\n|\n/

构造函数:

new RegExp('\\n|\n')

希望对您有所帮助。

一种方法是以否定字符开头 class 以确保您不会使用双反斜杠:

var rg = '/[^\](\n)/g'
var str = 'so you can do pretty much \nanything you want with it. \n\nAt runtime Carota has'

您可能想要负面回顾。这用于查找文本后面的字符,但不将其包含在捕获中。 您重写的正则表达式如下所示:
(?<!\)(\n)