我的正则表达式搜索有问题。我一直在寻找解决方案,我似乎无法找到问题的解决方案。
我有以下字符串:
1+[2/3]-23+2+<3,4,[22/7]+2;2,3,4>+2
我希望匹配未包含在[]或&lt;&gt;中的所有内容。所以在这个字符串中我会得到以下匹配:
1+
-23+2+
+2
我尝试了很多不同的东西。我尝试的最后一件事是
/[\]>]?.*[\[<]?/
答案 0 :(得分:2)
在这种情况下,拆分比匹配更容易
使用此正则表达式拆分字符串:
\[[^\]]*\]|<[^>]*>
您将获得所需的数组。
在JavaScript中:
result = str.split(/\[[^\]]*\]|<[^>]*>/);
<强>解释强>
\[[^\]]*\]
匹配完成[braces]
:一个左括号,然后[^\]]*
任意数量的字符,这些字符不是右括号,然后是右括号。|
<[^>]*>
匹配完成<tags>