Аз не съм експерт на RegEx и просто rtying за отстраняване на грешки някои jUnit код, който не успее.
Така че, ако съм прав, това е, което предаваме:
##ALT=<ID=DEL:ME:ALU,Description="Deletion of ALU element">
и това е линията на кода, която regex ще хвърли изключение, но не разполагат с дълбоко познаване на RegEx, така че аз се чудех дали виждате нещо нередно с този израз?
pattern = Pattern.compile("((Description="[^"]*")>");
От теб.
Отговори:
0 за отговор № 1Можете да опитате:
pattern = Pattern.compile("((Description="[^"]*")>)");
В твоя случай можеш да използваш нещо подобно за съвпадения срещу низ:
Pattern pattern = Pattern.compile(".*(Description="[^"]*")>");
Matcher matcher = pattern.matcher("##ALT=<ID=DEL:ME:ALU,Description="Deletion of ALU element">");
matcher.matches();
System.out.println(matcher.group(1));
Това ще отпечата: Description="Deletion of ALU element"
2 за отговор № 2
Вашият regex се отваря 2 (
и затваря само 1 )
, Това е непълно. Трябва да затворите дефиницията на групата във вашия regex, че ще се провали вероятно с изключение на синтактичния анализ.