How to delete a certain group from the regular expression

5

I have a tax file that comes with the following information in the line:

Ex:. OCF|DINHEIRO|160.12|12

To fix it I have to delete a part, and the right one would be:

OCF|DINHEIRO|160.12

So I started doing a regular expression in notepad ++; In which I can find exactly what I want to search. The expression is this:

(^OCF\|)(\w*\|)(\d*.\d*)

Now I need to know how to replace all so that the value I expect is generated:

OCF|DINHEIRO|160.12
    
asked by anonymous 13.06.2018 / 12:53

2 answers

7

The idea is to look for the pattern you want to remove. So I understand you want to remove |12 at the end of the text, ie the default you are looking for is |número

My expression is based on the following:

  • \| looks for a slash, escape is required because the slash in regex has the function of OU
  • \d+ shortcut to search for numbers greedy.
  • $ border that searches the end of a string.

Running

let texto = 'OCF|DINHEIRO|160.12|12';
let expressao = /\|\d+$/;
console.log(texto.replace(texto.match(expressao),''));

Regex101

    
13.06.2018 / 13:21
6

If the expression is used in the Notepad ++ editor, do as Marconi said.

Access the shortcut CTRL+H and in the Find what field put the expression \|\d+$ and click Replace All .

Tousetheexpressionyouhavewritten,youwillhavetoadd\|\d+andtheReplacewith:fieldtothatreferstogroups.

    
13.06.2018 / 13:33