Regex - выцепить комплексное число

346
17 августа 2021, 08:50

Задан шаблон комплексного числа в виде шаблона {real, image}, например:

{1, 2}
{1.2, 2.3}
{1.2e+100, 5.678e-10}
{1.2E-2, -5.678E+01}
{+.12, +5.5e-12}

Требуется составить регулярное выражение для извлечения/парсинга реальной и мнимой частей комплексного числа.

 String regex = "([{]*)([,]*)([}])";
 Pattern pattern = Pattern.compile(regex);
 Matcher matcher = pattern.matcher("{1.2e+100, 2.34555}");

Не работает :(

P.S. Как то обычно обходился без regex'ов, но вот поди же - столкнулся :)

Answer 1
^\{([-+]?[0-9]*[.,]?[0-9]+(?:[eE][-+]?[0-9]+)?),\s*([-+]?[0-9]*[.,]?[0-9]+(?:[eE][-+]?[0-9]+)?)\}$

Протестировать можно тут

READ ALSO
Как можно реализовать закрытие текущей вкладки спустя 3 секунды после входа на страницу?

Как можно реализовать закрытие текущей вкладки спустя 3 секунды после входа на страницу?

Как можно реализовать закрытие текущей вкладки (страницы) спустя 3 секунды после входа на страницу?

172
Vue: Не работает геттер с find во vuex

Vue: Не работает геттер с find во vuex

Всем привет, просто тренируюсь во vueСтолкнулся со странным поведением геттера во vuex - если применить в нём метод find для массива, код отказывается...

297
Почему key в React нужен только в перечислениях?

Почему key в React нужен только в перечислениях?

Была поставлена задача реализовать свою JSX factoryИз документации React мы знаем, что JSX транспилируется в вызов функции React

142
Как отдельно определить стили для разных ориентаций печатаемых страниц?

Как отдельно определить стили для разных ориентаций печатаемых страниц?

Когда пользователь желает распечатать страницу, в зависимости от того какую ориентацию, в открывшемся окне, он выберет (портретная/альбомная),...

120