我正在尝试使用 grep 检查文件是否包含指定块之外<script>
的标签: 。{% block js %} ... {% endblock %}
如果文件不包含{% block page_content %}
元素,则应忽略它(并非所有模板实际上都包含js
块)。
到目前为止我的表达是:
grep -lrPz '(?s){% block (?!js).*? %}(?=.*?<script).*?{% endblock %}' src/
任何想法我做错了什么?
这是一个应该被检测到的文件:
{% block page_content %}
{{ parent() }}
<script> console.log("Hello world"); </script>
{% endblock %}
以下是不应检测到的文件:
{% block who_knows %}
{{ parent() }}
<script> console.log("Hello world"); </script>
{% endblock %}
{% block page_content %}
{{ parent() }}
{% endblock %}
{% block js %}
<script> console.log("Hello world"); </script>
{% endblock %}
{% block js %}
<script> console.log("Hello world"); </script>
{% endblock %}
{% block page_content %}
{{ parent() }}
{% endblock %}