我张贴了这个问题而回,这是回答得很好: Complex regex to split up a string复杂的正则表达式来分割字符串 - 第2部分
我知道有与此相关的一个新的难题,而且我真的不Anywhere入门。 ..
说我现在有一个这样的字符串:
{foo.bar:/?a{3\}}{blah}
使用在上一篇文章所提供的代码,它这样做:
{foo.bar:/?a
{3\}}
{blah}
我希望它这样做:
{foo.bar:/?a{3\}}
{blah}
这是因为我现在要处理的是不要在示例中的第二大括号前有一个逃生的字符串。我需要一些可以识别什么时候忽略某些开放大括号的代码。例如。如果从左到右阅读字符串,它会看到第一个开口花括号,然后当它看到第二个开口花括号时,它有点说“挂着,我还没有看到有效的关闭花括号,所以我打算忽略这个'。这可能吗?我明白,它可能不完全可能使用纯粹的正则表达式。
这是我从这是造成问题前一个问题使用的代码的起始部分:
var m = str.match(/{?(\\.|[^{}])+}?/g);
或者另一种解决方案可能是,当用户键入&事先提交的字符串,它在没有用户看到的情况下滑入反斜线中。这样做的麻烦是知道哪些逃避反斜杠从用户'隐藏'...
乍一看,它看起来像递归和/或迭代正则表达式的工作。 – kevlar1818