0
有没有反转正则表达式选择的方法?正则表达式:反转选择
我有以下字符串例如:
Hello World
<h1>{{{title}}}</h1>
No HTML
<p>{{description}}</p>
{{#each projects}}
<h2>{{#name}}</h2>
<bockquote><p>{{#quote}}</p></bockquote>
<p>{{#description}}</p>
<pre><code class="lang-javascript">{{{#code}}}</code></pre>
{{/each}}
我要选择哪一个不是由HTML的标签或车把标签包围的文本。
我的方法是选择HTML/Handlebar-Tags,然后颠倒选择。 RegEx为此看起来像:
/<(.*)>|{{.*}}/
但我只是不能找到一种方法来颠倒这一点。 还有别的办法吗?
[你无法解析(X)HTML用正则表达式。](http://stackoverflow.com/a/1732454/1529630) – Oriol 2014-11-05 01:05:08
什么@Oriol说。编写一个简单的令牌解析器并运行这些数据,而不是尝试为此使用regexp。 – 2014-11-05 01:07:45
即使你的原始正则表达式不正确,因为它会从一行中的'<'到最后一个'>'吃掉,并且超出标签的边界。另一个'{{。*}}'只适用于每行只有一个实例。 – nhahtdh 2014-11-05 02:22:27