/ / Изключение се случва, когато се опитвате да съответствате на RegEx - java, regex

Изключение се случва, когато се опитвате да съответствате на RegEx - java, regex

Аз не съм експерт на 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, че ще се провали вероятно с изключение на синтактичния анализ.