正则表达式:匹配任何但不是“<”,“{{”和“{%”

时间:2015-10-17 08:22:24

标签: regex

我试图实现词法分析器并尝试创建正则表达式,以匹配任何内容但不符合以下内容:

  • <
  • {{
  • {%

我正在尝试:

[^(<|{{|{%)]+

但它也不会看蚂蚁单“{”和“%”符号。

可以使用正则表达式吗?

输入:“foo {{bar&lt; baz {%” 输出:“foo”,“bar”,“baz”

2 个答案:

答案 0 :(得分:2)

您可以使用基于外观的正则表达式:

(?<=\s|^)(?!{[{%]|<)\S+

(?!{[{%])为负面预测,以匹配任何非{{{%的非空格文字。

RegEx Demo

答案 1 :(得分:1)

我认为你正在写一个模板语言,你可能想分开这些角色,对吧?如果是这样,那么你就分裂正面的正则表达式:(<|{{|{%)

使用http://www.regexr.com/了解有关正则表达式的更多信息。