我想知道是否有人达到了我在这里发布的内容。为了允许在特定路径下创建模板,有一个标记allowedPaths
可以接收正则表达式。
因此,如果我希望我的模板"test"
仅显示在/content/www/xx/xx/test-templates
和子元素下,我可以这样做:
/content/www/.*/.*/test-templates(/.*)?
但是,如果我想反过来呢?我希望模板"test"
出现在每个/content/www/xx/xx/
节点及其他节点中,除了/content/www/xx/xx/test-templates
和孩子?
到目前为止,我尝试了几种方法,但没有运气。你对此有一些暗示吗?
谢谢!
答案 0 :(得分:2)
您始终可以使用前瞻限制更通用的模式。这是一个适合你的表达式:
^(?!/content/www/[^/]*/[^/]*/test-templates(?:/|$))/content/www/[^/]*/[^/]*(/.*)
请参阅demo。
^
- 匹配字符串的开头(?!/content/www/[^/]*/[^/]*/test-templates(?:/|$))
- 确保下一个子字符串不是/content/www/<some_node>/<some_node>/test-templates
,后跟字符串结尾($
)或/
/content/www/[^/]*/[^/]*(/.*)
- 匹配/content/www/<some_node>/<some_node>
后跟可选的/
以及除换行符以外的零个或多个字符