正则表达式求助

懒得搭理你 2014-05-22 03:21:55
例如:有如下字符串要进行拆分"原告:刘文淦;被告:岳曹明,张惠月,永安财产保险股份有限公司海宁支公司"
字符串规则:原告和被告的顺序不固定(有可能被告在前,原告在后),原告可以写成上诉人,申请人,公诉人(统称原告关键字),被告可以写成被告人,被上诉人,被申请人(统称被告关键字)
拆分规则:原告关键字到被告关键字之间(或结尾)的为原告,被告关键字到结尾(或原告关键字之间)的为被告。
我目前的做法:1、将原告、被告关键字统一替换成原告、被告。2、采用indexOf进行处理。但是这样太繁琐了,之后又尝试了用正则表达式来写,还是有点问题。

String str = "上诉人:刘文淦;被申请人:岳曹明,张惠月,永安财产保险股份有限公司海宁支公司";
str = str.replaceAll("(被告|被告人|被上诉人|被申请人)", "被告");
str = str.replaceAll("(原告|上诉人|申请人|公诉人)", "原告");
Pattern p = Pattern.compile("(?<=原告)(.*)(?<=被告)(.*)");
Matcher m = p.matcher(str);
while(m.find()){
System.out.println(m.group(1));
System.out.println(m.group(2));
}

哪位比较熟悉正则的人帮帮忙
...全文
193 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
懒得搭理你 2014-05-22
  • 打赏
  • 举报
回复
引用 7 楼 rui888 的回复:
看看可以不
//String str = "上诉人:刘文淦;被申请人:岳曹明,张惠月,永安财产保险股份有限公司海宁支公司";
		 String str = "被申请人:岳曹明,张惠月|上诉人:刘文淦,永安财产保险股份有限公司海宁支公司";
		 System.err.println(str.replaceAll("(.*)(.)(被告|被告人|被上诉人|被申请人|原告|上诉人|申请人|公诉人)(.*)", "$1------>$3$4"));;
		
可以的,我再稍微做点调整。 结贴 谢啦
tony4geek 2014-05-22
  • 打赏
  • 举报
回复
看看可以不
//String str = "上诉人:刘文淦;被申请人:岳曹明,张惠月,永安财产保险股份有限公司海宁支公司";
		 String str = "被申请人:岳曹明,张惠月|上诉人:刘文淦,永安财产保险股份有限公司海宁支公司";
		 System.err.println(str.replaceAll("(.*)(.)(被告|被告人|被上诉人|被申请人|原告|上诉人|申请人|公诉人)(.*)", "$1------>$3$4"));;
		
tony4geek 2014-05-22
  • 打赏
  • 举报
回复
那么你怎么区分结束啊。
懒得搭理你 2014-05-22
  • 打赏
  • 举报
回复
引用 4 楼 rui888 的回复:
String str = "上诉人:刘文淦;被申请人:岳曹明,张惠月,永安财产保险股份有限公司海宁支公司";
		System.err.println(str.replaceAll("(.*);(.*)", "$1------>$2"));;
额 不好意思 还有一个规则,原告和被告之间不一定是分号,有可能是换行符或者其他的符号。
tony4geek 2014-05-22
  • 打赏
  • 举报
回复
String str = "上诉人:刘文淦;被申请人:岳曹明,张惠月,永安财产保险股份有限公司海宁支公司";
		System.err.println(str.replaceAll("(.*);(.*)", "$1------>$2"));;
tony4geek 2014-05-22
  • 打赏
  • 举报
回复
不用正则
String str = "上诉人:刘文淦;被申请人:岳曹明,张惠月,永安财产保险股份有限公司海宁支公司";
		String[] t =str.split(";");
		for (String s : t) {
			System.out.println(s);
		}
懒得搭理你 2014-05-22
  • 打赏
  • 举报
回复
引用 1 楼 rui888 的回复:
要获取什么啊?
拆分原被告,结果如下 原告:刘文淦 被告:岳曹明,张惠月,永安财产保险股份有限公司海宁支公司
tony4geek 2014-05-22
  • 打赏
  • 举报
回复
要获取什么啊?

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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