【问题标题】:Regex which selects from string to string从字符串到字符串选择的正则表达式
【发布时间】:2015-01-12 20:36:47
【问题描述】:

我想在 Sublime Text 3 中使用正则表达式删除 CSS 文件(/* */ 格式)的每个 cmets。

我尝试了(?s)\/\*[^(?:\*\/)]*\*\/(?s)\/\*(?:[^\*][^\/])*\*\/ 等等,但我无法让正则表达式在找到*/ 时不选择*/(这意味着评论已完成)。

谢谢。

【问题讨论】:

    标签: regex sublimetext2 sublimetext sublimetext3


    【解决方案1】:
    /\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/
    

    还可以查看本指南,该指南涵盖了您在代码中删除 cmets 的问题: http://ostermiller.org/findcomment.html

    【讨论】:

      【解决方案2】:

      我使用的解决方案来自barq在他的answer中给出的链接,即:/\*(.|[\r\n])*?\*/

      【讨论】:

        【解决方案3】:

        您可以尝试以下方法:

        \/\*([\s\S]*)?\*\/
        

        See regex demo here。关键是字符类[\s\S],它匹配包括新行和回车在内的所有内容。注释的文本(不包括开始和结束代码)将被捕获到捕获组中。

        希望这会有所帮助。

        【讨论】:

        • 那些正则表达式由于某种原因不起作用。请参阅我使用的解决方案的答案。谢谢。
        猜你喜欢
        • 2021-05-16
        • 2019-06-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-14
        • 2022-01-20
        • 2014-08-25
        相关资源
        最近更新 更多