使用ctrl+H搜索or 可以发现有如下很多的关键字
下面的结果有很多,如果我想把下面的关键字(:和=之间的字符串)做一次搜索,如何处理?
先右键全选复制到文本;
利用java截取关键字,这里假设取 :和=之前的信息;
public static void main(String[] args) throws IOException {
String path="\Desktop\\1\\111.txt";
List<String> collect = Files.lines(Paths.get(path)).map(
s -> {
int num1 = s.indexOf(":");
int num2 = s.indexOf("=");
if (num1 > -1 && num2 > -1) {
return s.substring(num1 + 1, num2).trim();
}
return "";
}
).filter(StringUtils::isNotBlank)
.collect(Collectors.toList());
System.out.println(collect.size());
//为了防止超长,这里把list截取分组了,长度随意
List<List<String>> lists = groupListByQuantity(collect, 10);
//获取正则
for (List<String> list : lists) {
System.out.println( list.stream().collect(Collectors.joining("|")));
}
}
private static List<List<String>> groupListByQuantity(List<String> list, int quantity) {
List<List<String>> wrapList = new ArrayList<List<String>>();
if (list == null || list.size() == 0) {
return wrapList;
}
int count = 0;
while (count < list.size()) {
wrapList.add( list.subList( count, Math.min((count + quantity), list.size())));
count += quantity;
}
return wrapList;
}
比如: 这个就是搜索10个关键字,中间用|分割
prompt.ciplatform.isAlreadyUploaded|prompt.claim.regist.changedDateNotInValidDate|message.GcCancellation.checkNotice|prompt.claim.verifyDamageStartDate|prompt.claim.registDamageStartDate.claimDamageStartDate|prompt.claim.failure.selectTheAddType|prompt.claim.failure.OnlyPaidTheSameTypeLiab|prompt.claimEmployee.machineryRunOrBuild|GcPreActionMainDto.legalAid.lawyerFeeDescOptions1|GCMtrcDataUpload.SumPaidPayIsNullOrZero
这里就能一次性搜索10个关键字了,非常省时
2.如果你想找reflect开头的Impl结尾的字段
比如reflect.DelegatingMethodAccessorImpl
reflect.AAAAAAAAImpl
可以使用如下正则表达式:
reflect(.*Impl)