gpt4 book ai didi

regex - Apache Ant : Can I search all files for a specific regex and then print the matches to a file?

转载 作者:行者123 更新时间:2023-12-01 02:47:51 24 4
gpt4 key购买 nike

在 Ant build.xml 中,我希望能够使用以下正则表达式在所有 .html 文件中找到任何匹配项:

("|')((?!http://|#|mailto:|&|/)([^#\n\s\."])+?\.([^#\n\s"])+?)\1

然后,我想在文件中列出\2 的那些匹配项。这可能吗?

最终结果,感谢@bakoyaro:
    <echo message="Collecting appcache files" />
<concat destFile="your_output_file">
<fileset dir="./${dir.publish}">
<include name="**/*.html"/>
</fileset>
<filterchain>
<linecontainsregexp>
<regexp pattern="(.)*?(&quot;|')((?!http://|\?|#|mailto:|\1)([^#\n\s\.&quot;'?])+?\.([^#\n\s&quot;'?])+?)\2" />
</linecontainsregexp>
<tokenfilter>
<replaceregex pattern="(.)*?(&quot;|')((?!http://|\?|#|mailto:|\1)([^#\n\s\.&quot;'?])+?\.([^#\n\s&quot;'?])+?)\2" flags="g" replace="\1\2\3\2${line.separator}" />
</tokenfilter>
<linecontainsregexp>
<regexp pattern="(.)*?(&quot;|')((?!http://|\?|#|mailto:|\1)([^#\n\s\.&quot;'?])+?\.([^#\n\s&quot;'?])+?)\2" />
</linecontainsregexp>
<tokenfilter>
<replaceregex pattern="(.)*?(&quot;|')((?!http://|\?|#|mailto:|\1)([^#\n\s\.&quot;'?])+?\.([^#\n\s&quot;'?])+?)\2" flags="g" replace="\3" />
</tokenfilter>
<linecontainsregexp>
<regexp pattern="((?!http://|\?|#|mailto:|\1)([^#\n\s\.&quot;'?])+?\.([^#\n\s&quot;'?])+?)" />
</linecontainsregexp>
</filterchain>
</concat>

最佳答案

这是一个可能有帮助的片段,它将创建一个 .zip 文件,其中包含与您的正则表达式匹配的任何文件。我用它来检查我的构建以确保所有 ant 标记都被替换。

<zip destfile="${your_file_name}" update="true" whenempty="skip">
<fileset dir="${your_search_directory}">
<!-- your file pattern -->
<include name="**/*.html" />
<!-- this will destroy an executable file. best to exclude them -->
<exclude name="**/*.jar" />
<containsregexp expression="your_regex_to_match" />
</fileset>
</zip>

关于regex - Apache Ant : Can I search all files for a specific regex and then print the matches to a file?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6466476/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com