/ / Виняток трапляється при спробі встановлення відповідності на RegEx - java, regex

Виняток трапляється при спробі збігатися з RegEx-java, regex

Я не експерт RegEx і просто rtying для налагодження деякого коду jUnit, який не вдається.

Тож якщо я маю рацію, це те, що ми передаємо:

##ALT=<ID=DEL:ME:ALU,Description="Deletion of ALU element">

і це рядок коду, що регулярний вираз буде кидати виняток, але у вас немає глибоких знань про 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

Ваш регекс відкриється 2 ( і закривається просто 1 ). Це неповно. Ви повинні закрити визначення групи у своєму регексе, воно, мабуть, не вдасться за винятком розбору.