Регулярное выражение, получить текст между "+" и концом строки в Java - PullRequest
0 голосов
/ 13 мая 2018

У меня есть что-то вроде ниже, и мне нужно извлечь весь текст между "+" и концом строки.

+  context: projectRoot,
+  entry: path.resolve(projectRoot, 'src/scripts/Index'),
+
+  resolve: {
+    extensions: ['', '.js', '.jsx'],
+  };
module: {
+    loaders: [{
+      test: /\.jsx?$/,
+      exclude: /node_modules/,
+      loader: 'babel?presets[]=stage-0,presets[]=react,presets[]=es2015',
   },
+
+  output: {
+    path: config.build.assetsRoot,
+    publicPath: deploymentBuild ? config.build.assetsPublicPath : config.dev.assetsPublicPath,
+    filename: '[name].js',
+  },

Я хочу извлечь каждую строку, начинающуюся с "+", и игнорировать другие строки.

Помощь будет оценена. Спасибо.

Редактировать: 2

String codeDiff = "";
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        DiffFormatter df = new DiffFormatter(baos);
        df.setRepository(git.getRepository()); // get repo
        List<String> diffCodes = new ArrayList<>();
        List<String> packageChangesArray = new ArrayList<>(); // plus and minus changes from package json
        for (DiffEntry entry : diffs) { //loop
            df.format(df.toFileHeader(entry));
            diffCodes.add(new String(baos.toByteArray()));
            codeDiff = new String(baos.toByteArray());
            Pattern p  = Pattern.compile("(\\+)(.*)(,)" ,Pattern.CASE_INSENSITIVE | Pattern.MULTILINE);
            Matcher m = p.matcher(codeDiff);
            while (m.find()){
                String c1=m.group(1);
//                String c2=m.group(2);
                System.out.print("("+c1.toString()+")"+"("+")"+"\n");
            }
        }

1 Ответ

0 голосов
/ 13 мая 2018

Если вы получили эти строки из файла git commit, вы можете использовать следующее.

try(Stream<String> lines = Files.lines(Paths.get("path to your file")) {
    List<String> collect = lines
            .filter(s -> s.startsWith("+"))
            .collect(Collectors.toList());
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...