<br> 1 texto texto texto texto texto
<br> texto texto texto texto texto
<br> 2 mas texto mas texto mas texto
<br> mas texto mas texto
<br> 3 mucho mas texto
<br> mucho mas texto
Deseo dejarlo asi:
<br> 1 texto texto texto texto texto<br> texto texto texto texto texto
<br> 2 mas texto mas texto mas texto<br> mas texto mas texto
<br> 3 mucho mas texto<br> mucho mas texto
existe alguna forma de hacer con expresiones regulares. Gracias de ante mano por su valiosa colaboración.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'm sorry not to be able to answer you in Spanish :-( But I wrote this post, in TWO languages ( English and French ). I hope that, with these two texts, everything will be clear enough !
From your post, I suppose that ONLY lines, beginning with the string "<br> " and followed with a NON digit character, must be added at the end of the previous line ?
If so, here are TWO different search/replacement to get your solution :
FIRST solution :
Open the Reeplazar dialog ( CTRL + H )
Select the Expresión regular search mode
Type in \R(?!<br> \d) in the Buscar zone
Leave the Reemplazar con zone EMPTY
Click on the Reemplazar todo button
Notes :
\R represents any kind of EOL ( End of Line ) which may be \r\n for Windows files, \n for UNIX files or \r for Old Mac files.
(?!<br> \d) is a negative look-ahead ( a condition which is NEVER part of the search regex, but witch MUST be realized ( positive lookahead ) or NOT realized ( negative lookahead , at cursor position.
So, the complete regex just searches an End of Line, ONLY IF it's NOT followed by the string "<br> ", which is followed, itself, by any digit character.
If so, this EOL must to be deleted. That's why the Replace field is empty
SECOND solution :
Open the Reemplazar dialog ( CTRL + H )
Select the Expresión regular search mode
Type in \R(<br> \D) in the Buscar zone
Type in \1 in the Remplazaz con zone
Click on the Reemplazar todo button
Notes :
\R : See above
(<br> \D) represents any string "<br> ", followed with a NON digit character. As it's surrounded with round brackets, it's, therefore, stored as group 1
\1, in replacement part, means that the group 1, ONLY, without the EOL, is re-written !
Best Regards,
guy038
P.S. :
You'll find good documentation, about the new Boost C++ Regex library ( similar to the PERL Regular Common Expressions ) used by Notepad++, since the 6.0 version, at the TWO addresses below :
The FIRST link explains the syntax, of regular expressions, in the SEARCH part
The SECOND link explains the syntax, of regular expressions, in the REPLACEMENT part
2) En FRANÇAIS :
Je suis désolé de ne pas pouvoir vous répondre en Espagnol :-( Mais j'ai écrit ce message en DEUX languages ( Anglais et Français ). J'espère, qu'avec ces deux textes, tout vous paraîtra assez clair !
D'après votre message, je suppose ques les SEULES lignes, commencant par la chaîne "<br> " et suivie par un caractère NON chiffre, doivent être ajoutées, à la fin de la ligne précédente ?
Si tel est le cas, voici deux Recherche/Remplacement, afin d'obtenir votre solution :
PREMIÈRE solution :
Ouvrir la fenêtre Reeplazar ( CTRL + H )
Sélectionner le mode de recherche Expresión regular
Saisir \R(?!<br> \d) dans la zone Buscar
Laisser la zone Reemplazar con VIDE
Cliquer sur le bouton Reemplazar todo
Notes :
\R représente tout type de EOL ( Fin de Ligne ), qui peut être \r\n pour les fichiers Windows, \n pour les fichiers UNIX ou \r pour les fichiers Old Mac.
(?!<br> \d) est un negative look-ahead, une condition qui ne fait JAMAIS partie de la regex cherchée, mais qui DOIT être réalisée ( lookahead positif ) ou NON réalisée ( lookahead négatif ), à la position du curseur.
Donc, la regex complete cherche, simplement, une Fin de Ligne, SEULEMENT SI elle n'est PAS suivie par une chaîne "<br> ", qui est, elle-même, suivie par un caractère chiffre quelconque.
Dans ce cas, cette EOL doit être supprimée. C'est pourquoi le champ Reemplazar est vide
SECONDE solution :
Ouvrir la fenêtre Reemplazar ( CTRL + H )
Sélectionner le mode de recherche Expresión regular
Saisir \R(<br> \D) dans la zone Buscar
Saisir \1 dans la zone Remplazaz con
Cliquer sur le bouton Reemplazar todo
Notes :
\R : Voir ci-dessus
(<br> \D) représente toute chaîne "<br> ", suivie d'un caractère NON chiffre. L'ensemble, étant entouré de parenthèses, est, par conséquent, mémorisé en tant que groupe 1
\1, en partie *remplacement, signifie que le groupe 1, UNIQMENT, SANS EOL, est ré-écrit !
Amitiés,
guy038
P.S. :
Vous trouverez une bonne documentation, concernant la nouvelle bibliothèque Boost C++ Regex ( similaire aux PERL Regular Common Expressions ) utilisée par Notepad++, depuis la version 6.0, aux DEUX adresses, ci-dessous :
Hola
Tengo un texto de la siguiente manera:
<br> 1 texto texto texto texto texto
<br> texto texto texto texto texto
<br> 2 mas texto mas texto mas texto
<br> mas texto mas texto
<br> 3 mucho mas texto
<br> mucho mas texto
Deseo dejarlo asi:
<br> 1 texto texto texto texto texto<br> texto texto texto texto texto
<br> 2 mas texto mas texto mas texto<br> mas texto mas texto
<br> 3 mucho mas texto<br> mucho mas texto
existe alguna forma de hacer con expresiones regulares. Gracias de ante mano por su valiosa colaboración.
Hello, LARAMJO,
1) In ENGLISH :
I'm sorry not to be able to answer you in Spanish :-( But I wrote this post, in TWO languages ( English and French ). I hope that, with these two texts, everything will be clear enough !
From your post, I suppose that ONLY lines, beginning with the string
"<br> "
and followed with a NON digit character, must be added at the end of the previous line ?If so, here are TWO different search/replacement to get your solution :
FIRST solution :
Open the Reeplazar dialog ( CTRL + H )
Select the Expresión regular search mode
Type in
\R(?!<br> \d)
in the Buscar zoneLeave the Reemplazar con zone EMPTY
Click on the Reemplazar todo button
Notes :
\R
represents any kind of EOL ( End of Line ) which may be\r\n
for Windows files,\n
for UNIX files or\r
for Old Mac files.(?!<br> \d)
is a negative look-ahead ( a condition which is NEVER part of the search regex, but witch MUST be realized ( positive lookahead ) or NOT realized ( negative lookahead , at cursor position.So, the complete regex just searches an End of Line, ONLY IF it's NOT followed by the string
"<br> "
, which is followed, itself, by any digit character.If so, this EOL must to be deleted. That's why the Replace field is empty
SECOND solution :
Open the Reemplazar dialog ( CTRL + H )
Select the Expresión regular search mode
Type in
\R(<br> \D)
in the Buscar zoneType in
\1
in the Remplazaz con zoneClick on the Reemplazar todo button
Notes :
\R
: See above(<br> \D)
represents any string"<br> "
, followed with a NON digit character. As it's surrounded with round brackets, it's, therefore, stored as group 1\1
, in replacement part, means that the group 1, ONLY, without the EOL, is re-written !Best Regards,
guy038
P.S. :
You'll find good documentation, about the new Boost C++ Regex library ( similar to the PERL Regular Common Expressions ) used by
Notepad++
, since the6.0
version, at the TWO addresses below :http://www.boost.org/doc/libs/1_48_0/libs/regex/doc/html/boost_regex/syntax/perl_syntax.html
http://www.boost.org/doc/libs/1_48_0/libs/regex/doc/html/boost_regex/format/boost_format_syntax.html
The FIRST link explains the syntax, of regular expressions, in the SEARCH part
The SECOND link explains the syntax, of regular expressions, in the REPLACEMENT part
2) En FRANÇAIS :
Je suis désolé de ne pas pouvoir vous répondre en Espagnol :-( Mais j'ai écrit ce message en DEUX languages ( Anglais et Français ). J'espère, qu'avec ces deux textes, tout vous paraîtra assez clair !
D'après votre message, je suppose ques les SEULES lignes, commencant par la chaîne
"<br> "
et suivie par un caractère NON chiffre, doivent être ajoutées, à la fin de la ligne précédente ?Si tel est le cas, voici deux Recherche/Remplacement, afin d'obtenir votre solution :
PREMIÈRE solution :
Ouvrir la fenêtre Reeplazar ( CTRL + H )
Sélectionner le mode de recherche Expresión regular
Saisir
\R(?!<br> \d)
dans la zone BuscarLaisser la zone Reemplazar con VIDE
Cliquer sur le bouton Reemplazar todo
Notes :
\R
représente tout type de EOL ( Fin de Ligne ), qui peut être\r\n
pour les fichiers Windows,\n
pour les fichiers UNIX ou\r
pour les fichiers Old Mac.(?!<br> \d)
est un negative look-ahead, une condition qui ne fait JAMAIS partie de la regex cherchée, mais qui DOIT être réalisée ( lookahead positif ) ou NON réalisée ( lookahead négatif ), à la position du curseur.Donc, la regex complete cherche, simplement, une Fin de Ligne, SEULEMENT SI elle n'est PAS suivie par une chaîne
"<br> "
, qui est, elle-même, suivie par un caractère chiffre quelconque.Dans ce cas, cette EOL doit être supprimée. C'est pourquoi le champ Reemplazar est vide
SECONDE solution :
Ouvrir la fenêtre Reemplazar ( CTRL + H )
Sélectionner le mode de recherche Expresión regular
Saisir
\R(<br> \D)
dans la zone BuscarSaisir
\1
dans la zone Remplazaz conCliquer sur le bouton Reemplazar todo
Notes :
\R
: Voir ci-dessus(<br> \D)
représente toute chaîne"<br> "
, suivie d'un caractère NON chiffre. L'ensemble, étant entouré de parenthèses, est, par conséquent, mémorisé en tant que groupe 1\1
, en partie *remplacement, signifie que le groupe 1, UNIQMENT, SANS EOL, est ré-écrit !Amitiés,
guy038
P.S. :
Vous trouverez une bonne documentation, concernant la nouvelle bibliothèque Boost C++ Regex ( similaire aux PERL Regular Common Expressions ) utilisée par
Notepad++
, depuis la version6.0
, aux DEUX adresses, ci-dessous :http://www.boost.org/doc/libs/1_48_0/libs/regex/doc/html/boost_regex/syntax/perl_syntax.html
http://www.boost.org/doc/libs/1_48_0/libs/regex/doc/html/boost_regex/format/boost_format_syntax.html
Le PREMIER lien explique la syntaxe, des expressions régulières, en partie RECHERCHE
Le SECOND lien explique la syntaxe, des expressions régulières, en partie REMPLACEMENT
Last edit: THEVENOT Guy 2014-09-05