Regex 如何仅在正则表达式中查找换行符?

Regex 如何仅在正则表达式中查找换行符?,regex,newline,Regex,Newline,我有一个正则表达式,它可以在字符串中查找编码为\n(不是实际的换行符)的换行符,但它也可以查找编码的转义换行符(\\n),就像下面字符串中的“anything”之前一样 var rg = '/(\\n)/g' var str = 'so you can do pretty much \\nanything you want with it. \n\nAt runtime Carota has' 我怎样才能找到所有的换行符而没有一个转义的换行符 下面是一个带有示例的链接 我假设您正在使用Java

我有一个正则表达式,它可以在字符串中查找编码为
\n
(不是实际的换行符)的换行符,但它也可以查找编码的转义换行符(
\\n
),就像下面字符串中的“anything”之前一样

var rg = '/(\\n)/g'
var str = 'so you can do pretty much \\nanything you want with it. \n\nAt runtime Carota has'
我怎样才能找到所有的换行符而没有一个转义的换行符


下面是一个带有示例的链接

我假设您正在使用JavaScript。在这种情况下,您可以简单地使用类似的:

这将匹配所有换行符。如果不能使用正则表达式文字,JS还提供了一个接受字符串的构造函数

new RegExp('\\n')
为了匹配
\\n
您需要避开反斜杠:

/\\n|\n/
var rg = '/[^\\](\\n)/g'
var str = 'so you can do pretty much \\nanything you want with it. \n\nAt runtime Carota has'
与构造器一起:

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

希望这会有所帮助。

一种方法是从一个否定字符类开始,以确保不会出现双反斜杠:

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

您可能需要一个负面的回顾。这用于查找文本后面的字符,但不包括在捕获中。 重写的正则表达式如下所示:
(?

试试
/([\n])+?/g