Регулярное выражение для оценки и замены операторов арифметических операторов - PullRequest
0 голосов
/ 13 ноября 2010

Мне нужно регулярное выражение, которое заменит арифметические операторы в данной строке.Мне нужно иметь возможность заменить операторы на "|".

, например,

String input = "5.0+9.0-(-2.0)";

String replace = input.replaceAll("[+-//*&&[^.]&&[^(-]]", "|");

, в этом случае я намерен только заменить операторы вне скобок.Я думаю, что регулярное выражение должно быть изменено больше, чтобы читать только «-» вне скобок, но я должен идей.

Ответы [ 2 ]

1 голос
/ 19 ноября 2010

Если вы просто хотите заменить (а не оценить) арифметические операторы, которые не указаны в скобках, вы можете попробовать:

String replace = input.replaceAll("[-+*/](?![^(]*\\))","|");

Ideone Link

0 голосов
/ 13 ноября 2010

Это кажется трудным сделать с одним регулярным выражением. Я думаю, что лучший способ - извлечь выражения в скобках и заменить арифметические операции в оставшейся строке. Потому что регулярное выражение не может справиться с скобками.

Для получения справки по извлечению Регулярное выражение для обнаружения завершенной точки с запятой C ++ для циклов & while может помочь вам.

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