import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^\\s*at\\s((?!webpack:).)*:\\d+:\\d+[\\s\\)]*\\n";
final String string = "\n"
+ "/src/components/compare/couples/index.jsx\n\n"
+ "/Users/james/Work/nib/GithubEnterprise/frontend/react-static-example/src/components/compare/couples/index.jsx\n"
+ " 23:5 error Parsing error: Unexpected token {\n\n"
+ "✖ 1 problem (1 error, 0 warnings)\n\n"
+ "BabelLoaderError: SyntaxError: Unexpected token (23:4)\n\n"
+ " 21 | const Couples = ({products}) => (\n"
+ " 22 | <div>%%><\n"
+ "> 23 | {Foobar}\n"
+ " | ^\n"
+ " 24 | <Heading size=\"1\">Couples</Heading>\n"
+ " 25 | <img className=\"banner\" src={img}/>\n"
+ " 26 | <ul>\n\n"
+ " at transpile (/Users/james/Work/nib/GithubEnterprise/frontend/react-static-example/node_modules/babel-loader/index.js:52:13)\n"
+ " at /Users/james/Work/nib/GithubEnterprise/frontend/react-static-example/node_modules/babel-loader/lib/fs-cache.js:151:18\n"
+ " at ReadFileContext.callback (/Users/james/Work/nib/GithubEnterprise/frontend/react-static-example/node_modules/babel-loader/lib/fs-cache.js:29:23)\n"
+ " at FSReqWrap.readFileAfterOpen [as oncomplete] (fs.js:303:13)\n\n"
+ "static-react-render-webpack-plugin: Error rendering page \"scripts/components/compare/couples.js\": ReferenceError: Foobar is not defined\n"
+ " at Couples (webpack:///./components/compare/couples/index.jsx?:37:5)\n"
+ " at eval (webpack:///../~/react/lib/ReactCompositeComponent.js?:305:16)\n"
+ " at measureLifeCyclePerf (webpack:///../~/react/lib/ReactCompositeComponent.js?:74:12)\n"
+ " at ReactCompositeComponentMixin._constructComponentWithoutOwner (webpack:///../~/react/lib/ReactCompositeComponent.js?:304:14)\n"
+ " at ReactCompositeComponentMixin._constructComponent (webpack:///../~/react/lib/ReactCompositeComponent.js?:279:21)\n"
+ " at ReactCompositeComponentMixin.mountComponent (webpack:///../~/react/lib/ReactCompositeComponent.js?:187:21)\n"
+ " at Object.ReactReconciler.mountComponent (webpack:///../~/react/lib/ReactReconciler.js?:47:35)\n"
+ " at ReactDOMComponent.ReactMultiChild.Mixin.mountChildren (webpack:///../~/react/lib/ReactMultiChild.js?:240:44)\n"
+ " at ReactDOMComponent.Mixin._createContentMarkup (webpack:///../~/react/lib/ReactDOMComponent.js?:661:32)\n"
+ " at ReactDOMComponent.Mixin.mountComponent (webpack:///../~/react/lib/ReactDOMComponent.js?:528:29)\n";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
final Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html