正则 取固定首尾

FarbeTnT 2018-04-24 09:52:50
例如<!log>111111111111111111111111111111111111111<?log>
<!log>22222222222222222222222222<?log>
怎么能获取<!log><?log>中间的部分,包括换行。。。
...全文
580 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
oyljerry 2018-04-24
  • 打赏
  • 举报
回复

String log = "<!log>111111111111111111111111111111111111111<?log>";
        Pattern log_ptn = Pattern.compile("<!log>([\\s\\S]+)<\\?log>");
        Matcher log_m = log_ptn.matcher(log);
        while (log_m.find()) {
            System.out.println("log = " + log_m.group(1));
        }
Braska 2018-04-24
  • 打赏
  • 举报
回复

Matcher matcher = Pattern.compile("(?<=(<!log>))[\\w\\W]*(?=(<\\?log>))")
                .matcher("<!log>22222222222\n222222222222222<?log>");
        
        while(matcher.find()) {
            System.out.println(matcher.group(0));
        }
hbhbhbhbhb1021 2018-04-24
  • 打赏
  • 举报
回复
可以的啊,举个不行的例子呢?
FarbeTnT 2018-04-24
  • 打赏
  • 举报
回复
引用 2 楼 oyljerry 的回复:

String log = "<!log>111111111111111111111111111111111111111<?log>";
        Pattern log_ptn = Pattern.compile("<!log>([\\s\\S]+)<\\?log>");
        Matcher log_m = log_ptn.matcher(log);
        while (log_m.find()) {
            System.out.println("log = " + log_m.group(1));
        }
遇到换行好像不行啊老哥

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧