Sublime - 如何使用或不使用正则表达式包装文本?

时间:2015-06-08 03:50:49

标签: regex sublimetext2 sublimetext3 sublimetext

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui">


    <h:head>
        <title>Facelet Title</title>
    </h:head>

    <h:body>
        <h:form>
            <p:dataTable value="#{linkController.links}" var="lis" rowKey="#{lis.link_id}" selectionMode="single" id="tbl">

                <p:column headerText="Id">
                    <f:facet name="header"></f:facet>
                    #{lis.link_id}
                </p:column>

                <p:column headerText="name">
                    #{lis.link_name}
                </p:column>

                <p:column headerText="date">
                    #{lis.date}
                </p:column>

                <p:column headerText="time">
                    #{lis.time}
                </p:column>

                <p:column headerText="uplink">
                    #{lis.upLink}
                </p:column>

                <p:column headerText="downlink">
                    #{lis.downLink}
                </p:column>

            </p:dataTable>

            <p:commandButton value="Save as excel"> 
                <p:dataExporter type="xls" target="tbl" fileName="kananee" pageOnly="true" />
            </p:commandButton>
        </h:form>  



    </h:body>


</html>

这是一个例子,我的文章充满了名字和特殊名词。 所以,我需要用正则表达式包装我想要的所有名称。 结果应该是:

<p>Jean was a little girl, and she liked programming very much.</p>
<p>One day, Jean went to Annie's house and saw a very surprising work Annie had done, by accident.</p>
<p>Annie then let Jean join her secret work...</p>

如何使用Sublime的查找和替换功能包装文本? 这是一个像jQuery's wrap function

这样的函数

1 个答案:

答案 0 :(得分:0)

在“查找”中,将每个单词(由竖线分隔)放在中心捕获组中。第一个和最后一个捕获组确保您不会在已经有一个跨度的单词周围放置一个跨度:

(p>|[^>])(Jeanie|Jean Smith|Jean|Annie)(</p|[^<])

在替换中:

$1<span class="name">$2</span>$3

然后点击全部替换。

编辑: 如果任何替换词 a 是另一个替换词的子串, b ,那么 a 需要在之后> b 在捕获组中。

例如a = Jean和b = Jeanie然后:
(珍妮|让)将按预期工作 (Jean | Jeanie)不会。