V2EX 首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Java

求个正则表达式

  •  1
     
  •   lixueyu001 · 16 天前 · 732 次点击

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

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

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

    第 1 条附言  ·  16 天前
    <% log.debug("InputSQL===:"+SQL); …… %> 提取出来中间的 log.debug("InputSQL===:"+SQL); ……

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

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

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

    java7 测试通过
    DigitalOcean
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   3018 人在线   最高记录 3541   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.0 · 58ms · UTC 06:23 · PVG 14:23 · LAX 22:23 · JFK 01:23
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1