Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

136
Visualizações
Patrón Regex para que coincida con la parte de Java en el código JSP

Estoy tratando de hacer coincidir el contenido entre <%.....%> en un código JSP. Supongamos que el código JSP de muestra es:

 <%@ page import="java.io.*,java.util.*" %> <html> <head> <title>Auto Refresh</title> </head> <body> <fieldset style="width:20%; background-color:#e6ffe6;"> <legend>Auto refresh</legend> <h2>Auto Refresh Example</h2> <% // Set refresh, autoload time as 1 seconds response.setIntHeader("Refresh", 1); // Get current time Calendar calendar = new GregorianCalendar(); String am_pm; int hour = calendar.get(Calendar.HOUR); int minute = calendar.get(Calendar.MINUTE); int second = calendar.get(Calendar.SECOND); if(calendar.get(Calendar.AM_PM) == 0) am_pm = "AM"; else am_pm = "PM"; String CT = hour+":"+ minute +":"+ second +" "+ am_pm; out.println("Crrent Time: " + CT + "\n"); %> </fieldset> </body> </html>

Mi expresión regular es /\<\%[\w \@\=\.\*\,\"\$\#\!\&\(\)\/\/\n\+\;\:]*\%\>/gi Solo coincide con la primera parte, es decir

 <%@ page import="java.io.*,java.util.*" %>

no es la segunda parte

 <% // Set refresh, autoload time as 1 seconds response.setIntHeader("Refresh", 1); ........ String CT = hour+":"+ minute +":"+ second +" "+ am_pm; out.println("Crrent Time: " + CT + "\n"); %>
about 4 years ago · Santiago Gelvez
2 Respostas
Responde à pergunta

0

Si suelta %> para la prueba, puede ver hasta qué punto coincide . Hasta la barra invertida en \n" porque no está incluida en el conjunto de caracteres especificado. Agregue la barra invertida o use algo más general como

 /<%[\s\S]*?%>/g

que coincidirá perezosamente con cualquier cantidad de cualquier carácter entre <% y %> .

Vea esta demostración en regex101

about 4 years ago · Santiago Gelvez Relatório

0

Prueba esta expresión regular. Es corto y simple.

 /<%.*?%>/gs

Manifestación

Explicación

.*? coincide con cualquier carácter de cero a un número ilimitado de veces, la menor cantidad de veces posible (perezoso).

Entonces, toma todo entre <% y el %> . Preste atención al modificador /s de una sola línea

about 4 years ago · Santiago Gelvez Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda