Javascript 如何拆分包含一个或多个转义换行符的字符串?

Javascript 如何拆分包含一个或多个转义换行符的字符串?,javascript,regex,Javascript,Regex,我有一个字符串,包含\n(\\n)和\n\n(\\n\\n)(转义换行符) 我想这样分开: 'a\\na'.split(/\\n+/) > [ 'a', 'a' ] 'b\\n\\nb'.split(/\\n+/) > [ 'b', 'b' ] 但是我不知道如何将+应用于\\n,因为在我的示例中,它只应用于n,我得到['b','b'] 我尝试过分组:(\\n)+或(:?\\n)+,但它似乎不起作用。正确的是,您需要一个非捕获组以避免从拆分中产生额外的条目,但语法是(?:),而不是(

我有一个字符串,包含\n(
\\n
)和\n\n(
\\n\\n
)(转义换行符)

我想这样分开:

'a\\na'.split(/\\n+/)
> [ 'a', 'a' ]
'b\\n\\nb'.split(/\\n+/)
> [ 'b', 'b' ]
但是我不知道如何将
+
应用于
\\n
,因为在我的示例中,它只应用于
n
,我得到
['b','b']


我尝试过分组:
(\\n)+
(:?\\n)+
,但它似乎不起作用。

正确的是,您需要一个非捕获组以避免从
拆分中产生额外的条目,但语法是
(?:
),而不是
(:?

'b\\n\\nb'.split(/(?:\\n)+/)

您需要一个非捕获组来避免来自
拆分的额外条目,这是正确的,但是语法是
(?:
),而不是
(:?

'b\\n\\nb'.split(/(?:\\n)+/)

这看起来不是转义的。你是说
'a\\na'
?如果你有一个要量化的序列,用一个组将它包装起来:
/(?:\\n)+/
你可以用另一个字符替换\n,然后拆分字符串。例如
'a\na'。替换(“\n”,“u”)。拆分(“)
@Ryan Yes我的意思是“b\\n\\nb”。我写这篇文章是因为在console.log中显示为“b\n\nb”。为什么标记为offtopic,它是js和regex?@charisz:“offtopic”是一种堆栈溢出的奇怪现象;实际描述就在它下面:您刚刚输入了一个打字错误,
:?
?:
相比。这些被关闭是因为它们太具体了,但这并不意味着这是一个坏问题,别担心=)这看起来不是转义的。你是说
'a\\na'
?如果你有一个要量化的序列,用一个组将它包装起来:
/(?:\\n)+/
你可以用另一个字符替换\n,然后拆分字符串。例如
'a\na'。替换(“\n”,“u”)。拆分(“)
@Ryan Yes我的意思是“b\\n\\nb”。我写这篇文章是因为在console.log中显示为“b\n\nb”。为什么标记为offtopic,它是js和regex?@charisz:“offtopic”是一种堆栈溢出的奇怪现象;实际描述就在它下面:您刚刚输入了一个打字错误,
:?
?:
相比。这些被关闭是因为它们太具体了,但这并不意味着这是一个坏问题,别担心=)