Javascript 如何拆分包含一个或多个转义换行符的字符串?
我有一个字符串,包含\n(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
)(转义换行符)
我想这样分开:
'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”是一种堆栈溢出的奇怪现象;实际描述就在它下面:您刚刚输入了一个打字错误,:?
与?:
相比。这些被关闭是因为它们太具体了,但这并不意味着这是一个坏问题,别担心=)