числа регулярных выражений в арифметическом c выражении - PullRequest
0 голосов
/ 28 апреля 2020

Я хочу захватить все числа в строке например:

+================+============+
| string         | match      |
+================+============+
| 5*-33 = 75.3   | 5|-33|75.3 |
+----------------+------------+
| s44+2=7        | 2|7        |
+----------------+------------+
| ii2*-5 = 46    | -5|46      |
+----------------+------------+
| -2*-2.1 =  0.1 | -2|-2.1|0.1|
+================+============+

Я попытался с помощью следующего выражения, но оно не работает со знаковыми числами.

\b([0-9]+(\.\d+)?)\b

Regexr

1 Ответ

0 голосов
/ 28 апреля 2020

Не забудьте опционально -. - - это не число, поэтому вы должны захватывать его отдельно.

\b(-?\d+(\.\d+)?)\b

Конечно, это будет иметь проблемы с допустимыми выражениями, такими как:

4-3

Но это кажется быть другой проблемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...