lixueyu001
V2EX  ›  Java

求个正则表达式

  •  1
     
  •   lixueyu001 · Jan 5, 2018 · 3469 views
    This topic created in 3053 days ago, the information mentioned may be changed or developed.

    <%@page import="org.apache.log4j." %> 提取出来中间的包名 org.apache.log4j.

    <% log.debug("InputSQL===:"+SQL); …… %> 提取出来中间的代码

    真头疼啊不会正则 谢谢各位啦

    Supplement 1  ·  Jan 5, 2018
    <% log.debug("InputSQL===:"+SQL); …… %> 提取出来中间的 log.debug("InputSQL===:"+SQL); ……

    拜托了各位 正在试
    Supplement 2  ·  Jan 5, 2018
    谢谢各位 我是想实现 jsp 转成 java 代码
    9 replies    2018-01-09 10:17:07 +08:00
    littleW2B
        1
    littleW2B  
       Jan 5, 2018
    这个吗(?<=").*?(?=")
    Telegram
        2
    Telegram  
       Jan 5, 2018
    第一个大概是这样:
    (?<=import=").*(?=")
    第二个大概是:
    (?<=log.debug\(").*(?=\))
    littleW2B
        3
    littleW2B  
       Jan 5, 2018
    @Telegram 如果是同一行有多个“,.*可能会一直匹配到最后
    nondanee
        4
    nondanee  
       Jan 5, 2018
    String pattern = "<%@page import=\"([^\"]+)\" %>" match 取 group(1)

    String pattern = "<% log.debug\\(([^\\)]+)\\);"; match 取 group(1)

    这样?
    Telegram
        5
    Telegram  
       Jan 5, 2018 via iPhone
    @littleW2B #3 那是的,不过我看一般 import 里应该不会出现双引号吧
    linatiny
        6
    linatiny  
       Jan 5, 2018
    <%@page import="(.*?)" %>
    <% log.debug\("InputSQL===:"\+(.*?)\);.*?%>
    这样?
    neosfung
        7
    neosfung  
       Jan 5, 2018
    .+([^"]+).+
    .+([^(<%)(%>)]+).+
    bxb100
        8
    bxb100  
       Jan 5, 2018 via Android
    看看 tomcat 怎么实现的
    thinkmore
        9
    thinkmore  
       Jan 9, 2018
    第一个: (?<=").*(?=")
    第二个:(?<=<%).*(?=%>)

    java7 测试通过
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3048 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 52ms · UTC 14:03 · PVG 22:03 · LAX 07:03 · JFK 10:03
    ♥ Do have faith in what you're doing.