java - 在 Eclipse 中使用正则表达式在 xml 文件中查找查询

标签 java regex eclipse

使用 Regex Eclipse 搜索功能,我需要查找使用存储在 XML 文件中的 IBATIS e 编写的查询。

我尝试自己构建正则表达式字符串..但没有成功。

在某些文件 XML 中存在查询。文件示例:

<sqlMap namespace="Crediti">

 <select id="quotaVarPost50" parameterClass="qdb" resultClass="qdb">
      SELECT QDD_MAX.*
      FROM  ${schema}.QUOTEDATA QDD_MAX,
            ${schema}.ESERCIZIO ESE
      WHERE QDD_MAX.DATA_REGISTRAZIONE &gt;= #DATA_REGISTRAZIONE#
        AND QDD_MAX.TIPO_QUOTA = #TIPO_QUOTA#
        AND QDD_MAX.ANNO_RIF = #ANNO_RIF#
        AND QDD_MAX.SCO_TIPO_VARIAZIONE &lt;&gt; '04'
</select>


 <select id="allegatoCreditoDaRegDeb" parameterClass="RegistroDebitori" resultClass="stringa">
        SELECT PADRE.DESCRIZIONE
        FROM ${schema}.DECODIFICA_RELAZIONI REL
            INNER JOIN ${schema}.DECODIFICA PADRE
            ON (REL.TIPO_CODIFICA_PADRE = PADRE.TIPO_CODIFICA
                AND REL.CODICE_PADRE = PADRE.CODICE)
            INNER JOIN ${schema}.DECODIFICA FIGLIO
            ON (REL.TIPO_CODIFICA_FIGLIO = FIGLIO.TIPO_CODIFICA
                AND REL.CODICE_FIGLIO = FIGLIO.CODICE)
        WHERE REL.TIPO_RELAZIONE = 'T89'
            AND REL.CODICE_RELAZIONE = 'RP88'
            AND SYSDATE BETWEEN REL.DATA_INIZIO_VAL AND REL.DATA_FINE_VAL
            AND REL.TIPO_CODIFICA_FIGLIO = #COD_SOTTOINSIEME_ORIGINE#
            AND REL.CODICE_FIGLIO = #SCO_SOTTOINSIEME_ORIGINE#
    </select>

<delete id="deleteDomanda" parameterClass="hashmap" >
        DELETE ${schema}.VOCI_DOMANDA 
        WHERE TIPO_BILANCIO = #TIPO_BILANCIO#
            AND ANNO_ES = #ANNO_ES#
            AND PROGR_DEBITO = #PROGR_DEBITO#
            AND ID_VOCE_DOMANDA_DEBITO = #ID_VOCE_DOMANDA_DEBITO#
</delete>

</sqlMap>

这是一个例子,真实的文件有越来越多的语句(选择,删除,更新,...)

我想要一个正则表达式字符串(由 Eclipse 功能 -> 搜索 - 文件 - 正则表达式接受),它允许我找到包含某些单词的查询语句。

例如,我正在查找包含单词“TDECODIFICA_RELAZIONI”和“TDECODIFICA”的查询。 Eclipse 应该找到具有 id="allegatoCreditoDaRegDeb"的语句的匹配项(出现在上面的示例中)

here an image of search toolbar

最佳答案

@howlger 回答 <select[^>]*>([^<]*\b(TDECODIFICA_RELAZIONI|TDECODIFICA)\b){2} 这个正则表达式字符串允许我限制很多研究。 当找到至少 2 个结果时,它将匹配 select 语句(即使匹配项可能是同一单词之一的两次)。

谢谢 @嚎叫

关于java - 在 Eclipse 中使用正则表达式在 xml 文件中查找查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56933252/

相关文章:

javascript - 正则表达式剥离 BBCode

java - maven pom.xml 提示执行无法解析依赖关系但功能正常

java.lang.ClassCastException : java. lang.Integer 无法转换

java - 同一个线程看起来好像运行了两次,但在 Java 中只调用了一次

java - 在 Tomcat 服务器上启动 JHipster 生成的应用程序

java - getResourceAsStream 返回 HttpInputStream,而不是整个文件

c++ - 如何使用正则表达式匹配绝对值

Asp.Net 如何获取正则表达式的字符串结果,而不仅仅是一个

windows - 如何使用Windows将OpenCV库导入Eclipse

java - Java 中的母版页 - JDK 1.6