javascript - 不在方括号之间按 "| "拆分

标签 javascript regex

我需要拆分一个字符串,但忽略方括号之间的内容。 您可以想象这类似于忽略引号内的内容。

我遇到了报价的解决方案;

(\|)(?=(?:[^"]|"[^"]*")*$)

所以;

one|two"ignore|ignore"|three

会是;

one
two"ignore|ignore"
three

但是,我正在努力调整它以忽略 [] 而不是 ". 部分原因在于有两个字符,而不是一个。部分原因是 [] 需要转义,部分原因是我对正则表达式非常糟糕。

我的目标是得到;

所以;

一|二[忽略|忽略]|三

拆分为;

 one
 two[ignore|ignore]
 three

我试着自己弄清楚,但我陷入了困境; (\|)(?=(?:[^\[|\]]|\|][^\[|\]]*\[|\])*$) 我现在到处都能看到括号和线条。

帮助!

最佳答案

这是您发布的 "" 正则表达式的改编版本:

(\|)(?=(?:[^\]]|\[[^\]]*\])*$)
(\|)(?=(?:[^ "]| "[^ "]* ")*$) <- "" version for comparison

您将第二个 " 替换为 \[ 并将第一个和第三个替换为 \]

Working on RegExr

关于javascript - 不在方括号之间按 "| "拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20202274/

相关文章:

javascript - 将文本从一个 INPUT 拖动到另一个 INPUT,而不从源 INPUT 中删除文本

JavaScript,根据光标位置将字符串添加到文本区域

javascript - 我如何使用 Middleman 为 javascript 做国际化?

javascript - 查找具有 z 索引的元素

R strip拆分数据框中的一列

javascript - 正则表达式:如何替换以 "w/"和 "h"开头的四位数字?

c# - asp.net:如何将类似 LinkBut​​ton 的链接功能与表格单元格背景上的委托(delegate)连接起来?

javascript - 我应该使用什么(JavaScript)正则表达式来确保字符串是有效的文件名?

php - 短语或字符集的正则表达式模式帮助

JavaScript 正则表达式 : Replace under score and letter