java 正则 截取字符串
例如现在我有一串字符串Stringstr="act.autoTransactionTaskCompleteCSBE.001[异常服务系统名称:TSS.异常服务名称:ord...
例如现在我有一串字符串
String str ="act.autoTransactionTaskCompleteCSBE.001[异常服务系统名称:TSS.异常服务名称:orderBuy.返>回类型:E.服务异常码:1314.异常消息:首次购买或全额赎回后再次购买都需要满足首次投资金额2000000.00.服务方向:A]";
需要截取 首次购买或全额赎回后再次购买都需要满足首次投资金额2000000.00 这段字符串 怎么用正则表达式来截取呢?
这是我写的?匹配不上?找大神求解啊?
运行matcher.find() 也为true ,但是匹配打出的字符串不对啊,求高手解答!谢谢 展开
String str ="act.autoTransactionTaskCompleteCSBE.001[异常服务系统名称:TSS.异常服务名称:orderBuy.返>回类型:E.服务异常码:1314.异常消息:首次购买或全额赎回后再次购买都需要满足首次投资金额2000000.00.服务方向:A]";
需要截取 首次购买或全额赎回后再次购买都需要满足首次投资金额2000000.00 这段字符串 怎么用正则表达式来截取呢?
这是我写的?匹配不上?找大神求解啊?
运行matcher.find() 也为true ,但是匹配打出的字符串不对啊,求高手解答!谢谢 展开
展开全部
Java正则表达式:(?<=异常消息:).*?(?=服务方向:)
Java正则匹配的例子如下:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class I {
public static void main(String[] args) {
String str="act.autoTransactionTaskCompleteCSBE.001[异常服务系统名称:TSS.异常服务名称:orderBuy.返>回类型:E.服务异常码:1314.异常消息:首次购买或全额赎回后再次购买都需要满足首次投资金额2000000.00.服务方向:A]";
String regex="(?<=异常消息:).*?(?=服务方向:)";
Pattern p=Pattern.compile(regex);
Matcher m=p.matcher(str);
while(m.find()){
System.out.println(m.group());
}
}
}
运行结果:
首次购买或全额赎回后再次购买都需要满足首次投资金额2000000.00.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询