|
@@ -59,8 +59,8 @@ public class PatentRightSplitJPService implements PatentRightSplitService {
|
|
|
|
|
|
|
|
|
|
//第2步 ↓:理出权要的类型(type为 1主权要还是 0附属权要)、权要之间的层级关系(每个权要的父级权要序号parentSort)
|
|
//第2步 ↓:理出权要的类型(type为 1主权要还是 0附属权要)、权要之间的层级关系(每个权要的父级权要序号parentSort)
|
|
|
|
+ String regex2 = "請求項[0-9]+[〜]+[0-9]+";
|
|
String regex1 = "請求項[0-9]+";
|
|
String regex1 = "請求項[0-9]+";
|
|
- //String regex2 = "权利要求[0-9]+[至或~-]+[0-9]+";
|
|
|
|
for (int i = 0; i < strs.length; i++) {
|
|
for (int i = 0; i < strs.length; i++) {
|
|
//创建权要对象装载当前权要
|
|
//创建权要对象装载当前权要
|
|
PatentRightContent patentRightContent = new PatentRightContent()
|
|
PatentRightContent patentRightContent = new PatentRightContent()
|
|
@@ -78,33 +78,17 @@ public class PatentRightSplitJPService implements PatentRightSplitService {
|
|
patentRightContent.setType(0);
|
|
patentRightContent.setType(0);
|
|
|
|
|
|
Matcher matcher1 = Pattern.compile(regex1).matcher(strs[i].substring(strs[i].indexOf("】")));
|
|
Matcher matcher1 = Pattern.compile(regex1).matcher(strs[i].substring(strs[i].indexOf("】")));
|
|
- //Matcher matcher2 = Pattern.compile(regex2).matcher(strs[i]);
|
|
|
|
-// if (matcher2.find()) { //"权利要求2~4"、权利要求"2-4"、权利要求"2至4"、权利要求"2或4"
|
|
|
|
-// String parentNum = matcher2.group().substring(matcher2.group().indexOf("权利要求") + 4); //"2~4"、"2-4"、"2至4"、"2或4"
|
|
|
|
-// String[] parentNumStrs = new String[0]; //[2, 4]
|
|
|
|
-// if (parentNum.contains("~")) {
|
|
|
|
-// parentNumStrs = parentNum.split("~");
|
|
|
|
-// } else if (parentNum.contains("-")) {
|
|
|
|
-// parentNumStrs = parentNum.split("-");
|
|
|
|
-// } else if (parentNum.contains("至")) {
|
|
|
|
-// parentNumStrs = parentNum.split("至");
|
|
|
|
-// } else if (parentNum.contains("或")) {
|
|
|
|
-// parentNumStrs = parentNum.split("或");
|
|
|
|
-// }
|
|
|
|
-//
|
|
|
|
-// if (parentNum.contains("或")) { //"2或4"
|
|
|
|
-// for (String parentNumStr : parentNumStrs) {
|
|
|
|
-// parentSorts.add(Integer.parseInt(parentNumStr) - 1); //sort:{1, 3}
|
|
|
|
-// }
|
|
|
|
-// } else { //"2~4"、"2-4"、"2至4"
|
|
|
|
-// for (int i1 = Integer.parseInt(parentNumStrs[0]); i1 <= Integer.parseInt(parentNumStrs[parentNumStrs.length - 1]); i1++) {
|
|
|
|
-// parentSorts.add(i1 - 1); //sort:{1, 2, 3}
|
|
|
|
-// }
|
|
|
|
-// }
|
|
|
|
-// } else
|
|
|
|
- if (matcher1.find()) { //"請求項4"
|
|
|
|
|
|
+ Matcher matcher2 = Pattern.compile(regex2).matcher(strs[i].substring(strs[i].indexOf("】")));
|
|
|
|
+ if (matcher2.find()) { //"請求項2〜4"
|
|
|
|
+ macherGroup = matcher2.group();
|
|
|
|
+ String parentNum = macherGroup.substring(matcher2.group().indexOf("請求項") + 3); //"2〜4"
|
|
|
|
+ String[] parentNumStrs = parentNum.split("〜"); //[2, 4]
|
|
|
|
+ for (int i1 = Integer.parseInt(parentNumStrs[0]); i1 <= Integer.parseInt(parentNumStrs[parentNumStrs.length - 1]); i1++) {
|
|
|
|
+ parentSorts.add(i1 - 1); //sort:{1, 2, 3}
|
|
|
|
+ }
|
|
|
|
+ } else if (matcher1.find()) { //"請求項4"
|
|
macherGroup = matcher1.group();
|
|
macherGroup = matcher1.group();
|
|
- String parentNum = macherGroup.substring(macherGroup.indexOf("請求項") + 3); //4
|
|
|
|
|
|
+ String parentNum = macherGroup.substring(macherGroup.indexOf("請求項") + 3); //"4"
|
|
int parentSort = Integer.parseInt(parentNum) - 1;
|
|
int parentSort = Integer.parseInt(parentNum) - 1;
|
|
parentSorts.add(parentSort); //sort:{3}
|
|
parentSorts.add(parentSort); //sort:{3}
|
|
}
|
|
}
|