0

我是正则表达式的新手,目前我们使用一些正则表达式将文件和文件夹从源传输到目标,源包含一切,目标仅包含它的子集。正则表达式之一是排除名为 assets 的文件夹及其文件,但现在我想例外,我在源根目录中有一个名为 test 的新文件夹,在该文件夹中它也包含一个名为 assets 的文件夹,我会喜欢通过正则表达式排除它。

  1. 在源目录上

    • 资产/...
    • 一个/资产/..
    • b/资产/..
    • c/d/资产/
  2. 在我想去的目的地

    • 资产/..
    • 一个/资产/..
    • c/d/资产/..

基本上只是排除了b下的资产

干杯

4

1 回答 1

0

您将无法通过单个 Regex 执行此操作,因为您需要查看集合中的先前项目。

最好的办法是创建一个树结构并创建一个自定义节点对象,该对象将识别其子项是否已包含特定值。

一旦你完全构建了你的树,你就可以遍历它并为你的树现在包含的每个节点构建一个文件夹。

互联网上有很多创建树结构的示例。

于 2013-10-18T04:33:08.167 回答