Использовать обратные ссылки регулярных выражений в вычислениях (Java, Netbeans и не только) - PullRequest
0 голосов
/ 28 апреля 2010

В Netbeans «Команда замены» (Ctrl + H) имеет флажок регулярного выражения, чтобы я мог искать и заменять в документе, используя регулярные выражения. Также я могу заменить, используя обратную ссылку.

Вопрос в том, могу ли я использовать обратную ссылку в расчете, а затем использовать ее?

Например, с использованием «([0-9] {1})» в «Найти что» я найду все числа и с использованием «$ 1a» в «заменить на» приводит к замене всех чисел на само число, за которым следует буква a.

123456 ---> 1a2a3a4a5a6a

Я хочу добиться замены 123456 на 234567, поэтому я хочу знать, могу ли я использовать что-то вроде ($ 1 + 1) в «заменить на» или есть ли другой способ сделать это ТОЛЬКО с помощью регулярного выражения (не в MS Excel или что-нибудь подобное)

Спасибо

Ответы [ 2 ]

2 голосов
/ 28 апреля 2010

Простой ответ: нет, это невозможно.

0 голосов
/ 10 марта 2013

Notepad ++ делает именно эту вещь. Я не узнал, как NetBeans достигает этого.

В Notepad ++ вы можете ссылаться на выражение, заключенное в (), такое как ваш [0-9] {1}, либо в текущем выражении, либо в качестве замены, используя \ 1 для первого ( ) установить, \ 2 для второго и т. д.


Пример: поиск значения RGB в шестнадцатеричном формате 0xAA33FF и преобразование его в формат «# AA33FF» можно выполнить с помощью поискового выражения: 0x([0-9a-fA-F]{6}) и выражения замены: '#\1'

...