我想捕获<%和%>之间的所有文本和文本块。
例如:
<html>
<head>
<title>Title Here</title>
</head>
<body>
<% include("/path/to/include") %>
<h1>Test Template</h1>
<p>Variable: <% print(second_var) %></p>
<%
variable = value;
foreach(params here)
{
code here
}
%>
<p><a href="/" title="Home">Home</a></p>
</body>
</html>
我尝试过
\<\%(.*)\%\>
,但是它将捕获所有内容,包括<h1>Test Template</h1>
块。
最佳答案
您正在使用哪个正则表达式引擎?
<%(.*?)%>
应该在启用“点匹配换行符”选项的情况下工作。如果您不知道如何设置,请尝试
<%([\s\S]*?)%>
要么
(?s)<%(.*?)%>
无需顺便转义
<
,%
或>
。
关于regex - RegEx表达式将捕获两个字符之间的所有内容,包括多行 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4000508/