返回列表 发帖

求助:如何匹配大括号以外的数据

示例:

ab
{a
asd
{aasd}
}
asda
{aasd}

要求:
匹配出大括号之外的所有字符串,上述示例应匹配出标红色字体的字符串。

使用语言:JavaScript

我的思路是,
使用循环将
  1. \{[^}]\}
复制代码
部分替换为空格;然后再使用
  1. \s+
复制代码
split字串,即得到非{}部分的str。完整代码如下:
  1. <script type="text/javascript" charset="utf-8">
  2.             var myStr="ab\n"+
  3.             "{a\n"+
  4.             "asd\n"+
  5.             "{aasd}\n"+
  6.             "}\n"+
  7.             "asda\n"+
  8.             "{aasd}";           

  9.             while(myStr.match(/[{}]/))
  10.             {
  11.                 myStr= myStr.replace(/\{[^{}]+\}/g, " ");
  12.             }
  13.             result = myStr.split(/\s+/);
  14.             alert(result);
  15.             
  16.         </script>
复制代码
在答疑解惑版提问时,请注明所用语言、范例文本、匹配结果。谢谢!
------------------------------------------------------------------------------
我爱正则表达式
GTalk: rex[at]zhasm[dot]com
Twitter: rex_zhasm

TOP

不错,典型的 多个表达式比一个表达式要好解决问题的例子。

TOP

返回列表