Multiple terms in regular expression

Asked

Viewed 130 times

0

I need to search a few specific words in a text. I’m using ER for this. However, as I need to look for more than one word, in some cases the result is unsatisfactory. Below the ER I am trying to use (I need to search for other words, besides those below):

(; Réu:|=>; Requerido:|=>; Requerido\(s\):|=>)

What is the correct way to proceed in this case? It is worth remembering that in time the number of terms to be searched may increase.

  • What terms to look for in the expression (; Réu:|=>; Requerido:|=>; Requerido\(s\):|=>)?

  • @Felipedouradinho this is the regular expression. I need to search these terms within the text.

  • You need to look for Réu:, Requerido: and Requerido(s):? Can you edit your post with a full text example? Another thing, you’ll need to find the content up to that point in the text (up to a paragraph, for example)?

  • The text is an excerpt from the Official Journal, usually quite large. The terms are "loose" in the text, there is no pattern. Therefore, even, that the number of terms can increase over time. I need to find the terms in the whole text. The words occur several times in the text.

1 answer

1


Danilo, the best solution in regex for multiple words (strings, etc) is Quantificador Progressivo (Possessive Quantifiers), in other words, the [^"]*.

IMPORTANT

The pattern below is ALL occurrences. The display of the results (in the form of array, for example) will DEPEND ON YOUR PROGRAMMING LANGUAGE.

Example of application in PHP with the function preg_match_all which returns ALL results in the form of array:

<?php

    $pattern = "/[^\"]*considerando|trabalho|social|providê2ncias|Réu:|Requerido:|Requerido\\(s\\):/"; 

    $string = "CONSIDERANDO o poder constitucional conferido ao Ministério\nPúblico de expedir notificação e requisições para instruir procedimentos\nadministrativos de sua competência;\nCONSI2DERANDO que a Constituição Federal dispõe que \"A\nassistência social será prestada a quem dela necessitar, independentemente\nde contribuição à. Requerido(s): seguridade social, e tem por objetivos: I - a\nproteção à família, à maternidade, à infância, à adolescência e à velhice;\nII - o amparo às crianças e adolescentes carentes; III - a promoção da\nintegração. Requerido: ao mercado de trabalho:\" e\nCONSI2DERANDO os elementos. Réu: contidos no Relatório de Auditoria\nda Controladoria-Geral Réu: da União nos itens 5.1.1.; 5.1.2.; 5.1.3.;\n5.1.6.; 5.1.7.; 5.1.8.; 5.1.10. 5.2.1.; 5.2.2.; 5.2.3.; 5.3.2.; 5.3.5. e 5.3.9;\n(Ministério do. Réu: Desenvolvimento Social e combate à Fome)\nRESOLVE:\nINSTAURAR o presente PROCEDIMENTO PREPARATÓRIO\nNº 03/2015, objetivando apurar as irregularidades apontadas no Relatório\nde Auditoria da Controladoria-Geral da União nos itens 5.1.1.; 5.1.2.; 5.1.3.;\n5.1.6.; 5.1.7.; 5.1.8.; 5.1.10. 5.2.1.; 5.2.2.; 5.2.3.; 5.3.2.; 5.3.5. e 5.3.9;\ndeterminando, desde já, que sejam adotadas as seguintes providências."; 

    preg_match_all($pattern, $string, $resultado, PREG_PATTERN_ORDER);

    die(print_r($resultado));

?>

DEMO USING PHP

You should find the corresponding function in your preferred language.

Pattern

[^"]*considerando|trabalho|social|providências|Réu:|Requerido:|Requerido\(s\):

Text

CONSIDERANDO o poder constitucional conferido ao Ministério
Público de expedir notificação e requisições para instruir procedimentos
administrativos de sua competência;
CONSI2DERANDO que a Constituição Federal dispõe que "A
assistência social será prestada a quem dela necessitar, independentemente
de contribuição à. Requerido(s): seguridade social, e tem por objetivos: I - a
proteção à família, à maternidade, à infância, à adolescência e à velhice;
II - o amparo às crianças e adolescentes carentes; III - a promoção da
integração. Requerido: ao mercado de trabalho:" e
CONSI2DERANDO os elementos. Réu: contidos no Relatório de Auditoria
da Controladoria-Geral Réu: da União nos itens 5.1.1.; 5.1.2.; 5.1.3.;
5.1.6.; 5.1.7.; 5.1.8.; 5.1.10. 5.2.1.; 5.2.2.; 5.2.3.; 5.3.2.; 5.3.5. e 5.3.9;
(Ministério do. Réu: Desenvolvimento Social e combate à Fome)
RESOLVE:
INSTAURAR o presente PROCEDIMENTO PREPARATÓRIO
Nº 03/2015, objetivando apurar as irregularidades apontadas no Relatório
de Auditoria da Controladoria-Geral da União nos itens 5.1.1.; 5.1.2.; 5.1.3.;
5.1.6.; 5.1.7.; 5.1.8.; 5.1.10. 5.2.1.; 5.2.2.; 5.2.3.; 5.3.2.; 5.3.5. e 5.3.9;
determinando, desde já, que sejam adotadas as seguintes providências.

Demo Regex 101

  • I ran your demo and did not find all the words, only 1 occurrence. What can it be? Anyway, thank you for your collaboration.

  • @Danilomiguel, I believe there has been a misunderstanding on your part...the above Pattern finds YES all the results, but the display (the return) (ex.: array) of them will depend on the language you use. See my answer above, I put a DEMO and explanation in PHP.

  • Perfect! I am testing and adapting to my reality. Thank you!

  • haha great! at your service!

Browser other questions tagged

You are not signed in. Login or sign up in order to post.