恰好一个匹配的正则表达式

Kam*_*med 0 regex

我在我的代码编辑器(sublime文本)中使用以下正则表达式来搜索ASP.NET注释.

<%--.*(\n.*)*--%>
Run Code Online (Sandbox Code Playgroud)

我希望这个正则表达式在第一个--%>找到时立即停止向前看.但它一直在寻找,直到--%>找到最后一条评论.我有这个想法,我必须使用某种旗帜让它尽快停止,--%>但我无法弄明白.

任何人都可以告诉我如何修改这个正则表达式?

UPDATE

我忘了发布一些示例标记.这里是:

        <div class="modal-footer">
        <%--<button class="btn" data-dismiss="modal">
            Close</button>
        <button id="btnAddCountry" class="btn btn-primary" data-dismiss="modal">
            Save changes</button>--%>
    </div>
</div>
<div class="row-fluid">
    <div class="span12">
        <div class="box paint_hover">
            <div class="title">
                <h3>Sale Voucher</span>
                </h3>
            </div>
            <div class="content">
                <ul id="tabExample1" class="nav nav-tabs">
                    <li class="active"><a id="lnkAddEditVoucher" href="#AddEditVoucher" data-toggle="tab">Add/Update Sale Voucher</a></li>
                    <li><a id="lnkViewVouchers" href="#ViewVouchers" data-toggle="tab">Search Sale Voucher</a></li>
                    <%--  <li><a id="lnkViewParties" href="#ViewParties" data-toggle="tab">Search Parties</a></li>--%>
                </ul>
Run Code Online (Sandbox Code Playgroud)

我只想匹配第一条评论而不是第二条评论.

Thi*_*ter 9

你需要使*量词不贪婪.通常这是通过?在它们之后添加a来完成的,例如.*?而不仅仅是.*.

我也简化了正则表达式.Sublime Text支持(?s)模式开头的修饰符,使点匹配甚至是换行符:

(?s)<%--.*?--%>
Run Code Online (Sandbox Code Playgroud)

如果您希望明确匹配换行符:

<%--(.|\n)*?--%>
Run Code Online (Sandbox Code Playgroud)