正则表达式:获取一串字符串中,某个字符串到某个字符串之间的字符串,不包含左右,只取中间
生活随笔
收集整理的這篇文章主要介紹了
正则表达式:获取一串字符串中,某个字符串到某个字符串之间的字符串,不包含左右,只取中间
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
表示取出"EventType":" 到 "之間的字符串,非貪婪匹配
(?<="EventType":").*?(?=")如果后面"也換成字符串的話,就把?=換成?<=即可
例子如下:
public String getPattern(String str,String pattern){Pattern compile = Pattern.compile("(?<=\""+pattern+"\":\").*?(?=\")", Pattern.CASE_INSENSITIVE);Matcher matcher = compile.matcher(str);boolean b = matcher.find();if (b){return matcher.group(0);}else {return "";}} public static void main(String[] args) {String str = "{\"Header\":{\"DcdGuid\":\"${#DCDGuid}\",\"DevGuid\":\"${#DevGuid}\",\"Sid\":\"${#Sid}\",\"Timestamp\":\"${#Timestamp}\"},\"Data\":{\"AppName\":\"\",\"EventType\":\"LoginOper\",\"FunClassTag\":\"Login\",\"FunClassValue\":\"failure\",\"DiscoverTime\":\"${#RealTime}\",\"Details\":{\"LoginType\":\"-\",\"LoginSourceIp\":\"${1.3.6.1.4.1.2011.5.25.207.1.2.1.1.2.34}\",\"User\":\"${1.3.6.1.4.1.2011.5.25.207.1.2.1.1.4.34}\",\"Password\":\"-\"}}}";test test = new test();String eventType = test.getPattern(str,"EventType");String funClassTag = test.getPattern(str,"FunClassTag");String funClassValue = test.getPattern(str,"FunClassValue");System.out.println(eventType);System.out.println(funClassTag);System.out.println(funClassValue);}總結
以上是生活随笔為你收集整理的正则表达式:获取一串字符串中,某个字符串到某个字符串之间的字符串,不包含左右,只取中间的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信用卡为什么会逾期 信用卡逾期原因分析
- 下一篇: 【Github】怎么在README.md