我无法出于我的目的提出正则表达式。我正在努力接近这个

(?!\{%)\s*endfor\s*%}

但是它没有我想要的。

它应该找到无效的用途,例如:

- % endfor %}- % endfor %}- { % endfor %}- endfor %}- {% something valid %} % endfor %}

但不应找到有效的用途,例如:
- {% endif %}- {% endif %}- {%endif%}// multiline- {%- endif- %}

最佳答案

为什么在比赛中不使用负数,所以要使用正则表达式检测错误的情况,可以使用!match代替:

if(!str.matches("\\{\\%\\s*endfor\\s*\\%\\}")){
//-^-------------------------------------------------
  //do this
}

07-24 21:01