You are on page 1of 16

Bsquedas avanzadas Sigil ePubLibre

RegEx 10.0 (Explicacion).html[26/09/2014 6:30:32]


BSQUEDAS AVANZADAS CON EXPRESIONES REGULARES EN SIGIL 0.5 o SUPERIOR (v 10.0) (por Carlos. ePubLibre)
Reglas generales:
La tabla de expresiones regulares que figura debajo recoge las explicaciones sobre qu es lo que se pretende encontrar con cada una de ellas aportando un pequeo ejemplo, en algunos casos, sobre
el tipo de errores a detectar.
Est dividida en diferentes secciones que a su vez agrupan bsquedas relacionadas entre ellas.
El orden en el que aparecen es importante ya que el funcionamiento de ellas puede variar si no se han realizado correcciones con expresiones que las preceden.
Las bsquedas deben efectuarse con las opciones globales de Sigil Multilnea (DotAll) y coincidencia mnima (Minimal Match) desmarcadas.
Cuando la casilla del reemplazo se encuentra vaca implica que lo encontrado se eliminar.
LAS EXPRESIONES REGULARES NO SON UN PROGRAMA INFORMTICO. No toman decisiones en funcin de lo que encuentran, las decisiones las debe tomar el editor. Sin ser su uso
complicado requieren paciencia sobre todo al principio.
Funcionamiento:
Si desconoces la forma de realizar bsquedas con expresiones regulares en Sigil esta gua puede ayudarte.
La indicacin [R] en la numeracin de una expresin indica que se trata de una expresin recursiva: es necesario seguir comprobndola hasta no obtener coincidencias o volver a una coincidencia ya
comprobada.
A. GRUPO DE EXPRESIONES CORRECTORAS
En este grupo A se recogen las expresiones regulares destinadas a la correccin de errores frecuentes. Su finalidad es por tanto CORREGIR fallos
N BSQUEDA REEMPLAZO USO
0 LIMPIEZA DE CDIGO
Este grupo de expresiones tiene como objetivo eliminar aquellas partes del contenido del epub que son
innecesarias: etiquetas del lenguaje html, cdigo generado por otros programas, etiquetas en desuso. etc.
0.01 (((?<=/></p)|(?<![pv\d]))>\s*<h\d.*?|ttitulo")\K\sid="[hs]?(.+)?_\d+"|<!--.+--> Elimina los comentarios de la plantilla y las
identidades idde los encabezados. Versiones
anteriores de Sigil crearn de nuevo dichas
identidades al regenerar la TOC, pero pueden
eliminarse por este mismo procedimiento.
NOTA: en la medida de lo posible intenta
determinar la existencia de ms de un
encabezado en una misma seccin con el fin
de no eliminar las identidades de los
encabezados anidados.
0.02 &mdash;|-&nbsp; Sustituye la etiqueta por el smbolo
0.03 &ndash; Sustituye la etiqueta por el smbolo
0.04 (?<![agp]>|\pN|\p{Lu}{2})(&nbsp;(?!</p>|\pL{1,2}\.|[\pN,-]+|\||\p{Lu}\p{Ll}{1,3}&)|&nbsp;(?=</p>))|(?<=<p>|\s)&nbsp;(?!\||
</p>)|\PL\p{Ll}+\K&nbsp;(?=[\pN,-]+)
Sustituye la etiqueta &nbsp; por un espacio en
blanco, manteniendo dicha etiqueta solamente
si de da <p>&nbsp;</p>
NOTA: el reemplazo es un espacio en blanco.
0.05 &ldquo; Sustituye la etiqueta &ldquo; por las comillas
tipogrficas de apertura.
NOTA: el reemplazo se obtiene en Windows
mediante Alt+0147
0.06 &rdquo; Sustituye la etiqueta &rdquo; por las comillas
tipogrficas de cierre.
NOTA: el reemplazo se obtiene en Windows
mediante Alt+0148
0.07 \xAD|&shy; Elimina la etiqueta &shy; o su correspondiente
smbolo.
Este smbolo introduce un carcter invisible en
Sigil y que aparentemente separa partes de la
misma palabra. Al no ser visible no es posible
realizar una bsqueda simple por lo que es
necesaria su localizacin hexadecimal.
0.08 (?s)<style.+</style>|<p([^>]+)?style[^>]+></p>|<p([^>]+)?\K\sstyle="[^"]+"(?=>)? Elimina la totalidad de cdigo entre etiquetas
<style></style>
Cualquier estilo que quiera aplicarse al texto
en cada seccin deber realizarse mediante
clases en el archivo CSS
0.09 <span( style[^>]+| class="calibre\d+")?>([^=\n]+?)</span> \2 Elimina las etiquetas <span>no afectadas de
alguna clase.
0.10 class="sgc-\pN{1,3}" Elimina las referencias a las clases creadas
por Sigil.
Si la clase es mltiple por ejemplo
class=salto25 sgc-2no la localizar. Este tipo
de casos se recogen en otra expresin.
0.11 <i(\s[^>]+)?>(.+?)</i> <em\1>\2</em> Sustituye la etiqueta <i>por <em>
0.12 <b(\s[^>]+)?>(.+?)</b> <strong\1>\2</strong> Sustituye la etiqueta <b>por <strong>
0.13 \pL\K\s?(['`]+|&rsquo;)(?!\s) Sustituye el apstrofo o acentos aislados por
el tipogrfico.
NOTA: el reemplazo se obtiene en Windows
mediante Alt+0146
0.14 [.]{3,7}|&hellip;\.?|\. Detectar tres o cuatro puntos seguidos o la
Bsquedas avanzadas Sigil ePubLibre
RegEx 10.0 (Explicacion).html[26/09/2014 6:30:32]
etiqueta equivalente, que deberan ser puntos
suspensivos y los reemplazar por (que es
un nico carcter)
0.15 (?i)(?<=\PL)([dntv])(?=\PL) \1i Eliminar los acentos en d, n, t y v.
0.16 (?i)(?<=\PL)([dst])e(?=[\.;\?!\)]) \1 Aadir los acentos a de, se y te en posicin
previa a puntuaciones.
0.17 (?i)[^\pN\pL]\K([i1],?([ae])|(|e|(?-i)a)[i1])(?=[^\pL"]) \3l\2 Trminos buscados que pueden actuar como
artculos:

1a 1e 1 !a !e
! a1 ai a a
a! e1 ei e e
e! 1 i
! ia ie a e
NOTA: hay que prestar atencin en libros de
ciencias a esta expresin.
La expresin cambiar a minsculas todas las
L detectadas (tanto las de inicio de prrafo
como las que siguen a smbolos de puntuacin
que impliquen que se contine con mayscula.
Sin embargo este hecho se corrige con el uso
de otras expresiones posteriores de la tabla.
Existen tres excepciones Ai A1 y A que an
pudiendo ser Al no se modificarn ya que Ai
puede ser nombre propio.
0.18 (?i)(?<=\PL)((aqu)(llo)|(st?o))(?!s) \2e\3\4 Eliminar los acentos de esto, eso y aquello.
0.19 (?<![\pN,-])0(s?)(?=\s\PN{5,}) o\1 Corrige el uso del cero en funciones de O
NOTA: hay que prestar atencin en libros de
ciencias a esta expresin aunque tiene en
cuenta que el 0 no vaya precedido de nmeros
o coma decimal.
0.20 (?i)(?<=\PL)(aj|ojal)a(?=\PL) \1 Aadir los acentos a aja y ojala.
0.21 (?i)\PL\K(c)orno(?=\PL) \1omo Corrige el trmino corno.
0.22 (?<!gton|,)\PL\K(?|([aAdD])\.?\s?[cC](?=[^.])|([aAdD])\s?[cC]\.|([aAdD])\.\s?c\.?|([AD])\.\s?C\.?|([ad])\.C\.)(?=\PL) \L\1\E. C. Corrige las distintas formas de abreviaturas de
antes de Cristo y despus de Cristo
NOTA: RAE. Abreviaturas
0.23 \pL\K6(?=n[\pP\s]) Corrige errores de OCR en palabras agudas
terminadas en 6n en vez de n
0.24 (?<!<body>\n\s{2})<p[^=>]*>(<[^>]+>)*(&nbsp;)*(</[^>]+>)*</p>\s* Esta expresin localiza distintos tipos de
prrafos sin contenido, anulndolos.
1 COMILLAS
Este grupo de expresiones tiene como objetivo adecuar el uso de los distintos tipo de comillas.
Antes de nada sealar que es imposible garantizar la perfecta sustitucin de las comillas. El nmero de
posibilidades en las que se encuentran, el propio uso diferente que hacen los autores para las mismas
situaciones y el aadido de formar parte del cdigo html, determina la ausencia de patrones inequvocos de
bsqueda.
An as, partimos de la base de que es preferible corregir algn tipo de comillas mal colocadas, una vez
pasadas las RegEx, que no tener que hacerlo manualmente con la totalidad del texto.
Son expresiones complejas motivado por la dificultad de distincin de los smbolos de apertura y cierre
cuando en el texto slo se usan comillas inglesas "
Hay dos formas de enfrentarse a su localizacin y sustitucin:
Mtodo simple: exacto al empleado en versiones iniciales de las RegEx.
Mtodo avanzado: basado en 9 pasos. El proceso consiste en sustituir todo tipo de comillas del texto por las
angulares , independientemente de si deben serlo o no.
Las expresiones 1.021 y 1.022 realizan tareas auxiliares previas consistentes en detectar pares de comillas
cuando alguna de ellas est separada de la frase o justamente lo contrario: aqullas que tienen caracteres
adosados por ambos lados, con el fin de corregir la situacin previamente a su transformacin en angulares.
La transformacin en s se realiza con las expresiones 1.023 y 1.024.
Las expresiones 1.025 y 1.026 se encargan de localizar y sustituir las comillas anidadas por las tipogrficas

La expresin 1.027 identifica las continuaciones de dilogos o pensamientos para iniciarlas con
La expresin 1.028 es un complemento de la 1.025 y 1.026, que se da en menos ocasiones: pensamientos o
relatos en varios prrafos
La expresin 1.029 intentar localizar algunos casos dudosos o comillas que hayan quedado aisladas.
NOTA: RAE (Comillas 3)
1.01 Mtodo simple
Este procedimiento se ajusta al criterio seguido en versiones iniciales de las expresiones regulares. Es vlido para
textos sencillos con un uso escaso de entrecomillados. El mtodo empleado se basa en localizar primero los
entrecomillados simples y a continuacin los anidados si stos existen.
Tiene un inconveniente: las comillas internas en un conjunto anidado se mantienen como estaban originalmente y hay
que realizar su sustitucin de forma manual por las tipogrficas
1.011 (?<!=)["]([^-\s>]([^"\n]+?)?)(?<!\s)["](?=[^>]) \1 Para transformar dobles comillas "" o por
comillas angulares .
Se diferencia de la expresin 1.012 en que no
contempla la posibilidad de entrecomillados
anidados sino que los selecciona de forma
independiente.
Ejemplo: este es un caso sencillo
Ejemplo: este es un caso sencillo
Quedando: este es un caso sencillo
La existencia de textos anidados entre
comillas no se puede corregir mediante esta
expresin ya que nos quedara algo parecido a:
este es un caso anidado de dos grupos
de comillas
1.012 (?<!=)["]([^-\s>]([^\n=#]+)?)["](?=[^>]) \1 Para transformar dobles comillas "" o por
comillas angulares .
La expresin busca en cada prrafo y, si
existen ms de dos comillas en l, transforma
en angulares las ms externas, dejando las
interiores igual, ya que lo ms probable es que
se traten de comillas anidadas. De esta
manera se siguen las indicaciones de la RAE.
Pero hay ocasiones en que en un prrafo
puede haber varios grupos de comillas que no
estn anidadas. En esta situacin hay que
emplear la expresin 1.011.
Bsquedas avanzadas Sigil ePubLibre
RegEx 10.0 (Explicacion).html[26/09/2014 6:30:32]
Ejemplo: este es un caso anidadode dos
gruposde comillas
Quedando: este es un caso anidadode dos
gruposde comillas
1.02 Mtodo avanzado
Este procedimiento est aconsejado para textos con un elevado nmero de citas. Es un proceso mucho ms complejo
y con el que conviene tener especial cuidado.
Parte de dos premisas que no siempre se cumplen y que son: que no faltan comillas de apertura o cierre que debieran
existir y que los dilogos o pensamientos que continan en diferentes prrafos tienen en algn momento unas comillas
de cierre.
Consta de 9 pasos diferenciados que en su mayora trabajan sobre el prrafo completo. Esto implica que para realizar
adecuadamente su trabajo deben pasar ms de una vez por l al no existir un comando que realice tareas de
recursividad. Es decir si se usa reemplazar todo es posible que sea necesario realizar esa accin varias veces para
cada expresin.
El uso independiente de las expresiones 1.023 y 1.024 puede devolver resultados engaosos, pues como se ha
sealado en la introduccin del grupo 1, el procedimiento a seguir siempre convierte todas las comillas en angulares,
tengan o no que serlo, de forma que posteriores expresiones se encarguen de modificarlas adecuadamente. Si una
vez realizado todo el proceso vuelven a emplearse las mencionadas expresiones, volveran a detectar casos que
habran sido corregidos por el resto de expresiones.
A los efectos de este grupo de expresiones, el
trmino recursiva implica la repeticin de la
misma expresin de bsqueda una vez
completada, es decir: no aparecern
coincidencias (dentro de un mismo prrafo) si
no se ha realizado la correccin de la primera
coincidencia encontrada en ese prrafo.
Lo ms aconsejable es una vez realizado el
reemplazo volver a contar el nmero de
coincidencias que se obtienen con la expresin
que se acaba de usar.
[R]
1.021
(?|[\s(>]['"]\S[^'"\n]+\K\s(['"][,.;:?!\s)<])|([\s(>]['"])\s(?=[^'"\n]+['"][,.;:?!\s)<])) \1 Localiza comillas aisladas y que por tanto
tienen que ajustarse a su posicin correcta
previamente a su transformacin en angulares.
Ejemplo en esta palabra hay" un error
Quedando: en esta palabra hay" un error
Ejemplo en esta palabra hay un error
Quedando: en esta palabrahay un error
Dado el funcionamiento de la expresin se
requiere la existencia del par de comillas y que
una de ellas se encuentre aislada de su
correspondiente palabra. Comillas totalmente
aisladas sin pareja se intentan detectar con la
expresin 1.028
NOTA: Dado que es posible que ambas
comillas se encuentren aisladas del texto en
ocasiones habr que pasar ms de una vez
por las frases, es decir esta expresin puede
ser recursiva.
[R]
1.022
(?|((?<!>)[.,:;?!](?!)|(?<!["g\d]|<p)>[.,:;]?|\s[^\s<=/("]+)(?<!\s|<em>)\K(["])(?![.,:;)?!>\s]|?<(su|a|/p)|["]
[.,:;]|[aeouy]["])(?=[^\n]+?(?<![\s=\d])["](?!>))|\pL\K(["])([\pL(]|\pL))
\1 \2 Esta expresin localiza comillas con
caracteres a ambos lados de ella, sean de
apertura o de cierre, separndolas
adecuadamente.
Ejemplo Aquhay un error
Quedando: Aqu no hay un error
Ejemplo Aqu hayun error
Quedando: Aqu no hay un error
NOTA: En el caso de comillas inglesas
determinadas situaciones no pueden ser
discriminadas con exactitud ya que la comilla
analizada pudiera ser tanto de apertura como
de cierre. En estos casos el reemplazo puede
ser errneo y por tanto las transformaciones
posteriores realizadas por las expresiones de
este grupo 1.02. Sin embargo los errores que
se hubieran podido cometer producirn
detecciones de las expresiones
correspondientes a comillas del grupo 6.
Al igual que para la expresin anterior, esta
expresin es recursiva.
[R]
1.023
(<p([^>]+?)?>[]?|[\s(])(<[^>/]+?>)?\K["](?![-\s.,?!):;]|http) Esta expresin busca en exclusiva comillas de
apertura no angulares para sustituirlas por las
angulares.
Ejemplo: este es un caso anidado de dos
grupos de comillas
Quedando: este es un caso anidado de dos
grupos de comillas
NOTA: Al igual que para la expresin anterior,
esta expresin es recursiva.
[R]
1.024
(?<!jp|pn|cs|shee|htm|\pN\.|-)[\pN\pL.?!\->)]\K["](?="\PL|</|[^>\n\pL"]
(?!>|/>|class|id=|height|href|src|style|title|width))
Esta expresin busca en exclusiva comillas de
cierre no angulares para sustituirlas por las
angulares.
Ejemplo: este es un caso anidadode dos
gruposde comillas
Quedando: este es un caso anidado de dos
grupos de comillas
NOTA: Esta expresin es recursiva, si en un
prrafo hay ms de unas comillas de cierre, en
la primera pasada slo se sustituir una
Ejemplo: este es un caso anidado de un
grupo de comillas
Quedando: este es un caso anidado de un
grupo de comillas
Si se emplea reemplazar todo, una vez
usado es necesario seguir emplendolo hasta
obtener que no se encuentran ms
coincidencias.
Quedando: este es un caso anidado de un
grupo de comillas
[R]
1.025
(|<p([^>]+?)?>?)([^\n]+?)?(?<!=)\K["]([^\s>][^\n"=]+?)["] \4 Esta expresin detecta grupos de comillas
anidados localizando inicialmente el smbolo de
apertura en alguna parte del prrafo.
Esta expresin tiene en cuenta que el cierre de
las comillas de apertura puede encontrarse en
otro prrafo distinto.
Ejemplo: este es un caso anidado de
dos grupos de comillas
Quedando: este es un caso anidado de dos
grupos de comillas
NOTA: Esta expresin es recursiva, si en un
Bsquedas avanzadas Sigil ePubLibre
RegEx 10.0 (Explicacion).html[26/09/2014 6:30:32]
prrafo hay ms de unas comillas anidadas, en
la primera pasada slo se sustituir el primer
grupo. Si se emplea reemplazar todo, una vez
usado es necesario seguir emplendolo hasta
obtener que no se encuentran ms
coincidencias.
Quedando: este es un caso anidado de dos
grupos de comillas
[R]
1.026
(?<!=)["]([^\s>]([^\n"=]+?)?)["](?=(([^\n]+?))?) \1 Esta expresin es complementaria de la
anterior y tambin detecta grupos de comillas
anidados pero localizando inicialmente el
smbolo de cierre en alguna parte del prrafo.
Esta expresin tiene en cuenta que la apertura
de las comillas de cierre puede encontrarse en
otro prrafo distinto.
Ejemplo: este es un caso anidado de dos
grupos de comillas
Quedando: este es un caso anidado de dos
grupos de comillas
NOTA: Esta expresin es recursiva, si en un
prrafo hay ms de unas comillas anidadas, en
la primera pasada slo se sustituir el primer
grupo. Si se emplea reemplazar todo, una vez
usado es necesario seguir emplendolo hasta
obtener que no se encuentran ms
coincidencias.
Quedando: este es un caso anidado de dos
grupos de comillas
[R]
1.027
(<p([^>]+?)?>[]|)[^\n]+\n{2}[^\n]+<p([^<]+?)?>?\K(?=[^\n]+?</p>)|<p([^>]+?)?>[^\n]+\n{2}[^\n]+<p([^<]+?)?>
?\K(?=[^][^\n]+?</p>)
Esta expresin localizar los posibles dilogos
o pensamientos que continan en prrafos
sucesivos.
Ejemplo: Este es un caso de continuidad
de dilogo
Quedando: Este es un caso de continuidad
de dilogo
NOTA: Esta expresin es recursiva, ya que
verifica lo existente en el prrafo anterior. Si se
emplea reemplazar todo, una vez usado es
necesario seguir emplendolo hasta obtener
que no se encuentran ms coincidencias.
Si a un dilogo le sigue un pensamiento en
ms de un prrafo cambiar errneamente las
primeras comillas del pensamiento.
[R]
1.028
([^\n]+?)(?=([^\n]+\n{2}+){1,10}.+<p([^>]+?)?>[^][^\n]+?) \1 Esta expresin trabaja sobre varios prrafos a
la vez e intenta localizar textos entre comillas
dentro de otro entrecomillado cuando el
principal ocupa varios prrafos.
Ejemplo: Este es un caso anidado de
comillas
en el que ste es otro prrafo
y ste otro prrafo ms
y as sucesivamente
hasta que se produce el cierre
principal de comillas.
Quedando: Este es un caso anidado de
comillas
en el que ste es otro prrafo
y ste otro prrafo ms
y as sucesivamente
hasta que se produce el cierre
principal de comillas.
NOTA: Esta expresin es recursiva, ya que
verifica lo existente en prrafos anteriores. Si
se emplea reemplazar todo, una vez usado es
necesario seguir emplendolo hasta obtener
que no se encuentran ms coincidencias.
1.029 <p([^>]+?)?>([^"\n]+)?[^"=]\K['"]|>[]</ No hay sta es una comprobacin final que buscar
posibles comillas sin pareja o dudosas.
2 GUIN DE DILOGO
Este grupo de expresiones forma seguramente el ncleo principal de las bsquedas ya que de su correcta
posicin depende la mayora de la veces el disfrute de la lectura.
El reemplazo puede no valer si la estructura de la frase es errnea, por ejemplo si alguno de los guiones
implicase un prrafo nuevo y cambio de interlocutor.
NOTA: RAE (Raya: usos 2.3)
2.01 (?|\pP\s\K[-](?=\s(\pP+)?\p{Lu})|(?<!em|ng)[\s>!?]\K?[-](?=[\PN{2}\S]|\s[^\pN\p{Lu}])|\S{2}\K[-](?=\s|
[^\pL\pN]))
Sirve para transformar los guiones del tipo
signo menos (-) o &ndash; () por el guin de
dilogo mdash ()
Ejemplo: Este es un caso de -guiones
explicativos- en texto
Quedando: Este es un caso de guiones
explicativos en texto
2.02 ((?<!>)|[\pN\pL!?)\]](<.+?"?>)?)[]((<.+?"?>)?[\pN\pL(\[]) \1 \3 Detectar guiones pegados a una letra por
cada lado.
Aqu no hay posibilidad de reemplazo porque
el espacio puede estar por delante o por
detrs, as que hay que verlos uno a uno.
Ejemplo: Este es un caso deguiones
explicativosen texto
En el primer caso el espacio hay que dejarlo
por delante del guin y en cambio en el
segundo tiene que ser por detrs.
NOTA: El reemplazo siempre se efecta
dejando el espacio en blanco por delante, por
lo que en ocasiones ser incorrecto. Pero en
estos casos la expresin posterior 2.06
realizar su posicionamiento correcto.
2.03 (\s\K[^\n]+[^.,:;])(\s|(?|((?<!etc|C|[.\s].)\.)|([,;:])))()(?=\s|[,\.;:]) \1\4\3 Esta expresin detectar errores de espacios
Bsquedas avanzadas Sigil ePubLibre
RegEx 10.0 (Explicacion).html[26/09/2014 6:30:32]
inmediatamente antes del guin de cierre en
frases entre dos guiones.
Ejemplo: Este es un caso posible de
guiones en texto
Quedando: Este es un caso posible de
guiones en texto
Tambin detecta situaciones de permutacin
de smbolos de puntuacin en el guin de
cierre.
Ejemplo: Este es un caso posible de
guiones. En texto
Quedando: Este es un caso posible de
guiones. En texto
2.04 (\s\K)[\s.,:;]{1,2}([^\n]+?\S(|$)) \1\2 Esta expresin detectar errores de espacios
inmediatamente despus del guin de
apertura en frases entre dos guiones.
Ejemplo: Este es un caso posible de
guiones en texto
Quedando: Este es un caso posible de
guiones en texto
2.05 (<p([^>]+?)?>[^\n]+[^\s])()(|\pP)(\s)? \1\4\5\3 Esta bsqueda busca dos patrones
especficos que no pueden darse: una frase
entre guiones cuando el de apertura es el
del propio inicio del dilogo o dos guiones de
apertura consecutivos sin guin de cierre.
Finaliza la resolucin de determinados casos
corregidos con la expresin 2.04.
Ejemplo: <p>Este es el caso sealado,
en el texto
Quedando: <p>Este es el caso sealado,
en el texto
Ejemplo: Este es el caso sealado, en
el texto
Quedando: Este es el caso sealado, en
el texto
NOTA: En ocasiones la deteccin se debe a
que ha localizado un salto de prrafo incorrecto
cuando debiera producirse una continuidad con
el anterior. En este caso el reemplazo
propuesto no es vlido y hay que realizar
manualmente la eliminacin del salto de
prrafo.
2.06 (\s[^\n]+?)(|[.,:;])(\s)() \1\4\2\3 Esta bsqueda puede tener una utilidad doble
pues se trata de un comentario entre guiones
en el que el guin final est mal colocado,
bien por haberse separado de la ltima
palabra o bien por que debiera comenzar un
nuevo prrafo.
Ejemplo: Este es un caso posible,
que puede solucionarse.
Quedando: Este es un caso posible,
que puede solucionarse.
Pero en cambio:
Ejemplo: <p>En este caso Sabes?
Qu?
El dilogo debe aparecer en prrafo nuevo y
por tanto la sustitucin hay que hacerla
manualmente.
2.07 ([\.,:;\s]|<p([^>]+)?>(?!\P{Ll}+[.:]))([^\n]+)()([\.,:;]?)(\s) \1\3\5\6\4 Localiza frases en las que existiendo un guin
explicativo de cierre falta su apertura y en
donde lo ms probable es que el guin de
cierre sea realmente de apertura.
Ejemplo: Espera dijo. No te vayas
le acuci.
Quedando: Espera dijo. No te vayas
le acuci.
NOTA: Se ha excluido de la deteccin los
inicios de obras de teatro en los que a la
etiqueta de prrafo sigue el nombre del
personaje en maysculas y una raya.
2.08 (?<=\s)[^\n]+\s\P{Lu}+[-](?=\s|\pP|\p{Ll}[^<\n]+?</p>)|<p(>|.+?>)[^\n]+\s[^\p{Lu}]+[^\s\pN][-]\P{Lu}
[^\n\pP<]+([^\s]|(?=\.</p>))
No hay Detecta la presencia de guiones cortos que
apareciendo como parte de una palabra
compuesta debieran ser guiones explicativos.
Ejemplo: los guiones usados-no estn
bien delimitados
Debiendo ser los guiones usados no
estn bien delimitados
NOTA: En ocasiones la deteccin se debe a
que ha localizado en la frase un signo menos
que forma parte de un nombre compuesto y
que por tanto no se trata de un guin que
debiera ser raya.
2.09 <p([^>]+)?>(?!\P{Ll}+[.:])[^][^\n]+(?<!>)(?=[^\n]+$) No hay Esta expresin detecta errores de guiones de
dilogo o explicativos en el caso de que en el
prrafo solo exista uno. Excepto cuando en el
comienzo del prrafo aparezcan comillas
angulares que indiquen una continuacin de
dilogo iniciado en prrafos anteriores.
NOTA: Se ha excluido de la deteccin los
inicios de obras de teatro en los que a la
etiqueta de prrafo sigue el nombre del
personaje en maysculas y una raya.
3 SIGNOS DE PUNTUACIN
Este grupo busca distintos errores relacionados con diferentes signos de puntuacin del texto. Los ms
frecuentes son la ausencia de mayscula tras un punto o la separacin de los signos de puntuacin del texto.
3.01 ([\pL?!)\]]|(?<!)\.|[\pL\d>\])]|[?!](?!\s\.))\s([,.;:\?!)]) \1\2 Esta expresin buscar espacios entre la
ltima letra de un texto y los caracteres de
puntuacin que le siguen:
Ejemplo: los dos puntos : se encuentran
Bsquedas avanzadas Sigil ePubLibre
RegEx 10.0 (Explicacion).html[26/09/2014 6:30:32]
separados del texto
Quedando: los dos puntos: ya no se
encuentran separados del texto
Ejemplo: sucede lo mismo . con el punto
tras el guin.
Quedando: ya no sucede lo mismo. con el
punto tras el guin.
3.02 (?<!"|[\s;]\p{Lu}|\..|[\s;].{2}|\s\p{Ll}{3}|\s\p{Lu}\p{Ll}{2})[;,.:]{2,}|\pL\K\.\.|\.|[.,:;]<(a|s)[^\n,]+?[^;]</a>(</sup>)?[.,;:] Esta expresin busca signos de puntuacin
consecutivos que no pueden darse como dos
puntos seguidos o un punto seguido de coma.
En lo posible trata de evitar detecciones de
iniciales seguidas de coma del tipo
Washington D. C., o Murder Inc., o etc.,
Ejemplo: Este es un caso no vlido..
Ejemplo: Este es otro caso,, detectado
NOTA: aunque se propone un reemplazo por
el caracter puntos suspensivos, la casustica es
muy amplia y en muchos otros casos lo
necesario es suprimir alguno de los caracteres
repetidos o incluso eliminarlos.
3.03 (?|([([])\s(\S)|(\S-)\s) \1\2 Esta expresin busca signos de apertura
separados por un espacio del texto que les
sigue.
Ejemplo: Aqu detectara el espacio
previo al texto.
Quedando: Aqu ha suprimido el espacio
previo al texto.
Ejemplo: Aqu detectara el espacio
previo al texto.
Quedando: Aqu ha suprimido el espacio
previo al texto.
3.04 ((?<!ww|&am|bs)[\pL][\.,;:\?!)\]]{1,3}|\pL)(([]){0,2}(\b|(?i)[]).(?!.."|html|(et|om|rg)[\s\pP<])) \1 \2 Esta expresin busca un texto seguido de
algn signo de puntuacin y seguido de otro
texto pero sin la existencia del espacio de
separacin entre ellos.
Ejemplo: Este sera el caso,ms simple que
detectara.
Quedando: Este sera el caso, ms simple ya
corregido.
NOTA: en el reemplazo hay un espacio entre
\1 y \2
Tras el uso de esta expresin es conveniente
la revisin con algunas de las expresiones del
grupo B con el fin de evitar el salto de lnea en
los espacios de separacin entre las
abreviaturas.
3.05 (?(?=<p.+(?:centr|dere|sub[ct]).+?">) |<p(?:[^/>]+)?>[^\n]*\K(?|([^\d!?.])(?=\s<a)|(((?<!&nbsp|\.|,\s\d{3})[^"?:!.*/>\])]|
(?<!/>|[.?;!>]|\.\pN|\.\d{2})</[^c>]+?>)(?=</p>\s*<p([^/>]+"(?!derecha)[^/>]+(?<!derecha)")?>(<[^>]+?>)?\pP*\p{Lu}
(?!ios)|</p>\s*</?[bd]))))
\1. Esta expresin detecta saltos de prrafo sin
punto final.
Aunque se propone un reemplazo consistente
en la adicin del punto final hay que tener en
cuenta que la bsqueda puede dar como
resultado un final de prrafo que no debiera
serlo cuya correccin slo puede realizarse de
forma manual.
Tambin detectar la separacin de la llamada
a las notas de la palabra.
Los resultados pueden ser vlidos en finales
de estrofas, ttulos de captulos, finales de
cartas
La expresin no analiza los encabezados <h>
de captulo, ni tampoco los prrafos que
incluyen una clase que contenga en alguna
parte de su texto subt o subc en la
hiptesis de que se tratan de subcaptulos.
Tampoco analiza prrafos que incluyan la clase
derecha en la hiptesis de que se tratan de
pies de carta.
Igualmente no detectar la ausencia de punto
final si el prrafo siguiente comienza por
minscula, en la hiptesis de que puede
tratarse de un verso.
3.06 [,.;:<\(\[]{1,3}\.(?=</p>) . Esta expresin busca finales de prrafo con
signos de puntuacin que no pueden
encontrarse en esa posicin.
3.07 [;,.:]{2,}\s[;,.:]|([:.;])\s\1|[:.;]\s[,.;:]|[.;:,]\s[?!] No hay Esta expresin busca combinaciones de
signos de puntuacin que no deben darse
Ejemplo: Este sera un caso. que tiene
que detectar.
3.08 (?|(\PN\K\pN)[\s.](\pN{3}(?!\.\pN))|(\pN)\s(%)) \1\2 Esta expresin busca nmeros de 4 cifras o
cifras con porcentajes para eliminar el punto de
millar o el posible espacio previo al smbolo %
Ejemplo 1.234
Quedando 1234
Ejemplo 5 %
Quedando 5%
NOTA: RAE (Nmeros 2a) y RAE (Nmeros
1.2c)
[R]
3.09
(?|(?<=\d{2}|\d{3})\.?(\d{3})(?![.\d])|(?<=\d)\.?(\d{3})(?=&)) &nbsp;\1 Esta expresin elimina los puntos de millares
en nmeros mayores de 4 cifras
sustituyndolos por espacios realizados con la
etiqueta &nbsp;
Tambin detectar nmeros con ms de
cuatro cifras en los que no se ha empleado ni
el espacio ni el punto el su divisin.
Ejemplo: 12.345.678.900
Quedando: 12&nbsp;345&nbsp;678&nbsp;900
Ejemplo: 12345678900
Quedando: 12&nbsp;345&nbsp;678&nbsp;900
Tras el uso de esta expresin es conveniente
la revisin con algunas de las expresiones del
grupo B con el fin de evitar el salto de lnea en
los espacios de separacin entre los nmeros.
Bsquedas avanzadas Sigil ePubLibre
RegEx 10.0 (Explicacion).html[26/09/2014 6:30:32]
NOTA: RAE (Nmeros 2a)
3.10 (?|(([?!])(<[^>]+?>)?)\.|(?<!etc|\s\p{Lu})[,.:;]((<[^>]+?>)?[?!])) \1 Esta expresin busca frases finalizadas en
interrogacin o interjeccin y que van seguidas
de un punto. Tambin busca el caso inverso.
Ejemplo: ste sera un caso encontrado!.
Quedando: ste sera un caso encontrado!
Ejemplo: ste sera otro caso encontrado.!
Quedando: ste sera otro caso encontrado!
3.11 \pN\s.{1,2}\K\.(?!\s\p{Lu}|</[hp]|[&\pL]) Mediante esta expresin se detectan smbolos
seguidos de un punto para proceder a su
eliminacin.
Ejemplo: Se trataba de un can de 200
mm.
Quedando: Se trataba de un can de 200
mm
NOTA: RAE (Smbolos 2a)
4 PUNTOS SUSPENSIVOS
Este grupo de bsquedas localizar posiciones errneas del carcter nico puntos suspensivos:
NOTA: RAE (Puntos suspensivos)
4.01 ()([^\s\.,;:]) \1 \2 Esta expresin busca puntos suspensivos al
final de una frase y que se encuentran unidos a
un guin de apertura.
Ejemplo: ste es un casodetectado por
la bsqueda.
Quedando: ste ya no es un caso
detectado por la bsqueda.
NOTA: el reemplazo lleva un espacio en
blanco entre las sustituciones \1 y \2
4.02 (<.+?"?>)?(:?)[.,;]?\s(\s)|()(\s)() \1\2\3\4\6\5 Esta expresin sirve para localizar puntos
suspensivos iniciales separados tanto del guin
de dilogo inicial del prrafo como de la
primera palabra.
Ejemplo: <p> sta es una frase que
tiene que detectar.
Quedando: <p> sta es una frase que ya
no detectar.
4.03 (((?|[]|<[^>]+?>)[]?)([,;](?=\S))?)(<[^>]+?>)?(?![,;\s?!<)]|</p>) \1 \4 Esta expresin detecta puntos suspensivos
iniciales que se encuentran adosados a texto.
Ejemplo: Esta situacin debe
detectarse.
Quedando: Esta situacin ya no debe
detectarse.
NOTA: Hay un espacio final en blanco tras \1
NOTA: RAE (Puntos suspensivos 2h)
4.04 ()\s(\s|[!\?)]) \1\2 Esta expresin detecta un espacio en blanco
tras puntos suspensivos finales y previos a un
guin de cierre, o cierre de interjecciones,
interrogaciones o comillas.
Ejemplo: Esta situacin debe
detectarse.
Quedando: Esta situacin no debe
detectarse.
Ejemplo: Esta situacin !, debe
detectarse.
Quedando: Esta situacin!, no debe
detectarse.
Ejemplo: Esta situacin ? Debe
detectarse.
Quedando: Esta situacin? No debe
detectarse.
Ejemplo: Esta situacin debe
detectarse.
Quedando: Esta situacin no debe
detectarse.
4.05 (?|([^;:,\.])|(?<![:;.,]))\s([\s?,:;!)]) \1\2 Esta expresin localiza puntos suspensivos
con un espacio a ambos lados, cuando el
carcter precedente no es un guin ni un signo
de puntuacin.
Ejemplo: ste es un ejemplo en el que
tiene que detenerse.
Quedando ste no es un ejemplo en el que
tiene que detenerse.
5 MAYSCULAS Y MINSCULAS
Este grupo de bsquedas detectar errores en los textos relacionados con el punto y sus equivalentes a
efectos ortogrficos.
Muchas de las expresiones pueden dar detecciones en lugares vlidos pues muchas son las posibilidades del
idioma en el uso de las maysculas, los reemplazos que se proponen lo son para aquellos casos en los que el
revisor decida que debe hacerse el cambio.
5.01 ([^>(\p{Lu}.]{4}\K[^\p{Lu}c]?\.[)]?(<[^>]+?>)?\s|[^c]\.\s|(?:[?!.]\s[^]+|[!?.]+[^]*)\K:\s)(\p{P}{0,2}<[^>]+?
>)?([\(\[]{0,2})(\p{Ll})(?![.)])
\1\3\4\U\5\E Esta expresin detectar situaciones en las
que tras un punto o su equivalente ortogrfico
la siguiente palabra comience por minscula.
Dentro de lo posible intenta no detenerse tras
abreviaturas con punto seguidas de minscula,
aunque dadas las limitaciones del propio
lenguaje RegEx no siempre es posible.
NOTA: en ocasiones el punto detectado debe
ser otro signo de puntuacin diferente en cuyo
caso debe ser sustituido de forma manual.
5.02 (([,;]\s[]|,\s|,\s)(\p{P}{0,2}<[^>]+?>)?([\(\[]){0,2})(\p{Lu}) \1\L\5\E Esta expresin busca situaciones en las que
se combinan simultneamente una coma y un
guin de dilogo y comprueba si tras esa coma
aparece una mayscula.
Bsquedas avanzadas Sigil ePubLibre
RegEx 10.0 (Explicacion).html[26/09/2014 6:30:32]
Ejemplo: ste sera un caso, En el que
existira deteccin
Quedando: ste no sera un caso, en el que
existira deteccin
Ejemplo: ste sera un caso, En el que
existira deteccin
Quedando: ste no sera un caso, en el que
existira deteccin

NOTA: en el caso que la primera letra fuese
un nombre propio aunque exista una deteccin
del patrn buscado no se tratara obviamente
de un error.
Tambin puede darse la circunstancia de que
la coma deba ser un punto, en cuyo caso hay
que corregirlo manualmente
5.03 (?|(\pL[!?)\]]?)(\s)|(\pL)(\s)|(\pL<[^\n?!,;:.]+?\.\.[^<]+?<[^\n=]+>)(\s))((\pP{0,2}<[^>]+?>)?\pP{0,2}(?<!)\p{Lu}) \1.\2\3 Esta expresin acta prcticamente como
inversa de la anterior ya que su cometido es
comprobar, cuando hay un guin de dilogo
por medio, si la presencia de una mayscula
viene precedida de un signo de puntuacin.

Ejemplo: En este caso Es posible que
exista un error.
Quedando: En este caso. No existe un error.
Ejemplo: En este caso Es posible que
exista un error.
Quedando: En este caso. No existe un error.

NOTA: al igual que en la expresin anterior si
la primera letra fuese un nombre propio aunque
exista una deteccin del patrn buscado no se
tratara de un error.
5.04 (<p([^>]+)?"?>)([]?)[\s./](?!) \1\3 Esta expresin comprueba si al comienzo de
un prrafo aparece cualquier carcter que no
sea vlido.
Ejemplo: <p>/Este tipo de inicio lo
considerara no vlido.
Quedando: <p>Este tipo de inicio ya sera
vlido.
Ejemplo: <p>En ste tambin habra una
deteccin.
Quedando: <p>ste tambin sera vlido.
5.05 (\n\s{2}<p.+?(?<![,;:])</p>|[.*!?][)\]]*(<[^>]*>)*</p>|(?<!p)>)\s*(<p[^>]*>)([]*[]*(<[^>]+?>)*[(\[]*)\K(\p{Ll})(?!
[P)])
\U\6\E Esta expresin comprueba si la primera letra
de comienzo de prrafo es un carcter en
maysculas.
6 SIGNOS DE APERTURA Y CIERRE
Este grupo trata de localizar errores en aquellas frases que utilicen smbolos tales como interrogaciones,
interjecciones, parntesis o comillas y comprueban su correcta colocacin y emparejamiento.
6.01 (?<!<p)\.?(?|(?<!["(])([!?>][)]{1,2})|(?<![.(])([^\s.]\K[\pL\pN>])\.([)]{1,2})|(?<![>(\s])([^>.])([)]{1,2}))((?:<[^#>]+>)
{0,3})([^\n!):;?,."]([^\p{Lu}h\s]{0,3}|[^oy.]{0,2}<[^>]+?>.{0,2}|(<a|sup).+</a>(</sup>)?(</p>)?)?(\p{Lu}(?!\p{Lu}|.\.)|\pN(?!
[.,:;-\pN])|(?=\n)))
\1\2.\3\4 Esta expresin localiza frases entre comillas
angulares o entre parntesis que terminando
en interrogacin o exclamacin y continuando
con mayscula falta el punto final.
Tambin encuentran frases entrecomilladas o
entre parntesis que tienen su punto final antes
del respectivo cierre.
Ejemplo: Aqu tiene que efectuarse? Una
deteccin.
Quedando: Aqu ya no tiene que
efectuarse?. Una deteccin.
Ejemplo: Aqu tiene que efectuarse. Una
deteccin.
Quedando: Aqu ya no tiene que
efectuarse. Una deteccin.
Ejemplo: Aqu tiene que efectuarse Una
deteccin.
Quedando: Aqu ya no tiene que
efectuarse. Una deteccin.
NOTA: RAE (Punto 3.1)
6.02 (^[^\n]+?)\s(?!<em>|)[^\s]+\K([-]|[]\s)((?=\p{Ll}[^-]{3}[^\n]+$)) \1\3 Esta expresin localiza dos palabras iniciadas
en minscula y separadas por guiones y que
en principio no se tratan de palabras
compuestas.
Ejemplo: ste es un caso con creto que
tiene que detectar.
Quedando: ste es un caso concreto que no
tiene que detectar.
Ejemplo: ste es otro ca-so en que debe
detenerse.
Quedando ste es otro caso en que ya no
debe detenerse.
NOTA: Detectar palabras compuestas
vlidas que por tanto no deben corregirse. Sin
embargo no debe encontrar combinaciones del
tipo Coca-Cola.
Las combinaciones ex-algo las detecta otra
expresin.
6.03 (?|([?!])\s([]?(<[^>]+?>){1,2})|([?!](?:<[^>]+?>){0,2}[)]?)\s)([(]{0,2}\p{Ll}) \1, \2\4 Esta expresin localiza frases interrogativas o
exclamativas contiguas entre las que no existe
ningn signo de puntuacin pero nicamente
cuando la segunda frase comienza por
minscula.
En estas condiciones debe existir una coma
separando ambas frases o bien debe seguirse
de mayscula. El reemplazo solo contempla la
primera posibilidad.
Ejemplo: Es esto un fallo? verdad?
Quedando: Esto no es un fallo?, verdad?
NOTA: RAE (Signos interrogacin y
exclamacin 2f)
6.04 (?s)((?<!<)!|<body>)(?!!)[^!]+(?=(?<!\()!(?-s)(?!.*</em>)) No hay Esta expresin localiza frases entre
interjecciones en las que existiendo el signo de
cierre falta su apertura.
Bsquedas avanzadas Sigil ePubLibre
RegEx 10.0 (Explicacion).html[26/09/2014 6:30:32]
6.05 (?s)((?<!<)\?(?!>)|<body>)(?!\?)[^?]+(?=\?(?-s)(?!.*</em>)) No hay Esta expresin localiza frases entre
interrogaciones en las que existiendo el signo
de cierre falta su apertura.
6.06 (?s)(?<!>)[^]+?(?=(?<!>)) No hay Esta expresin localiza frases entre comillas
angulares en las que existiendo el signo de
cierre falta su apertura.
6.07 (?!)[^!]+?(?=|</body>) No hay Esta expresin localiza frases entre
interjecciones en las que existiendo el signo de
apertura falta su cierre.
6.08 (?!)[^\?]+?(?=|</body>) No hay Esta expresin localiza frases entre
interrogaciones en las que existiendo el signo
de apertura falta su cierre.
6.09 [^]+?(?=|</body>)|[^=]"[\pL\pN\.,:;](?!tt) No hay Esta expresin localiza frases entre comillas
angulares en las que existiendo el signo de
apertura falta su cierre.
6.10 ([(\[][^\])\n]+(?=$|[\[(])|^[^(\[\n]+?(?<!\s.|\s.{2}|>.</em>|>.{2}</em>|>.</strong>|>.{2}</strong>)(?<!|\pN|>\p{Ll})[)\]])|(?
<!\pN|[>\s]\p{Ll}|\*)[\])][^\[(\n]+?[\])]
No hay Esta expresin localiza frases entre parntesis
o corchetes en las que falta el respectivo
smbolo de apertura o de cierre.
NOTA: Combinaciones anidadas de
parntesis y corchetes o viceversa pueden ser
vlidas.
6.11 (?|[]([^?!]+)\K()([!?])|([^?!]+)\K(!)(\?)|([^?!]+)\K(\?)(!)|()([])(?=([^!]+)![])|()([])(?=([^?!]+)\?[])|[]
([^?!]+)\K()([!?]))
\3\2\1 Esta expresin localiza frases entre
interrogaciones, interjecciones, comillas
angulares y comillas tipogrficas en las que las
posiciones de los signos de apertura no
guardan relacin de orden con los de cierre.
Ejemplo: frase entre signos?
Quedando: frase entre signos?
Ejemplo: frase entre signos!?
Quedando: frase entre signos?!
NOTA: La expresin tiene en cuenta si debe
permutar los signos de apertura o los de cierre.
7 <ETIQUETAS>
Este grupo intenta localizar errores relacionados con la mala colocacin de las etiquetas de nfasis o resalto
respecto de los signos de puntuacin.
7.01 Etiquetas a clases de prrafo
Este subgrupo de tres bsquedas realiza la sustitucin de las etiquetas que afectan a la totalidad de un prrafo por la
clase correspondiente aplicada en l.
7.011 <p(?:(\s)class="([^"]*)")?><em>([^/]+(?![\pL\s]+)((?=/[FITabs]).+|))</em>(?=[.]?</p>) <p
class="\2\1cursiva">\3
Esta expresin busca prrafos, con o sin
clases definidas, en los que la totalidad de su
texto viene abarcada por las etiquetas <em>,
con el fin de eliminarlas e incluir la clase
"cursiva" como clase del prrafo acompaando
a las posibles existentes.
Ejemplo: <p><em>Parrafo enfatizado.</em>
</p>
Quedando: <p class="cursiva">Parrafo
enfatizado.</p>
7.012 <p(?:(\s)class="([^"]*)")?><small>([^/]+(?![\pL\s]+)((?=/[FITabs]).+|))</small>(?=[.]?</p>) <p
class="\2\1versalita">\3
Esta expresin busca prrafos, con o sin
clases definidas, en los que la totalidad de su
texto viene abarcada por las etiquetas <small>,
con el fin de eliminarlas e incluir la clase
"versalita" como clase del prrafo
acompaando a las posibles existentes.
Ejemplo: <p><small>Parrafo en versalitas.
</small></p>
Quedando: <p class="versalita">Parrafo en
versalitas.</p>
7.013 <p(?:(\s)class="([^"]*)")?><strong>([^/]+(?![\pL\s]+)((?=/[FITabs]).+|))</strong>(?=[.]?</p>) <p
class="\2\1negrita">\3
Esta expresin busca prrafos, con o sin
clases definidas, en los que la totalidad de su
texto viene abarcada por las etiquetas
<strong>, con el fin de eliminarlas e incluir la
clase "negrita" como clase del prrafo
acompaando a las posibles existentes.
Ejemplo: <p><strong>Parrafo resaltado.
</strong></p>
Quedando: <p class="negrita">Parrafo
resaltado.</p>
7.02 </?[^<lpdau]{1,6}>((?!do|re|m[i]|fa|sol|la|s[i]|t[u]|un|\d{1,2})[^\p{Lu})(|\[:]{0,2})</?[^</lpdahu]{1,6}(\sclass.+?")?> \1 Esta expresin est pensada para cuando al
escanear texto el escner coloca entre
etiquetas de 0 a 2 caracteres.
Tambin detectar casos en los que las
etiquetas se abren y cierran consecutivamente
de forma innecesaria.
Ejemplo: <em></em>
Quedando: eliminara las etiquetas
Ejemplo: <em>a</em>
Quedando: a
Ejemplo: <em>Este enfatizado</em>
<em>debiera ser nico</em>
Quedando: <em>Este enfatizado debiera ser
nico</em>
NOTA: En ocasiones las detecciones no se
tratan de errores sino de enfatizaciones de
palabras cortas y por tanto vlidas.
7.03 (?|<(?:em|strong)>[^][^\[(/\n]+?\K(?<![;\s]..|\..\.|\..|[;\s].|\d|\d\pL)([.,:;)]?\pP)(</(em|strong)>)(?!\|)|((?<=>)<[^pa>]+>)
()|(</[^>]+>)(s))
\2\1 Esta expresin permite localizar signos finales
de puntuacin dentro de un texto delimitado
por las etiquetas de enfatizado o negrita,
permitiendo al revisor extraerlos fuera de las
mencionadas etiquetas.
Ejemplo: ste sera un posible
<strong>caso!</strong>
Quedando: ste sera un posible
<strong>caso</strong>!
Ejemplo: ste sera otro <em>caso</em>
posible
Quedando: ste sera otro <em>caso</em>
posible
Bsquedas avanzadas Sigil ePubLibre
RegEx 10.0 (Explicacion).html[26/09/2014 6:30:32]
7.04 (<[^pl>]+>)([\[(])((?!N\.|Nota de)[^(/\n]+?)((?<!\.\s.\.)[)\]])(</[^p>]+>) \2\1\3\5\4 Esta expresin encuentra frases entre
etiquetas y a su vez entre comillas o parntesis
o corchetes, extrayendo del nfasis o resalto
los smbolos de las comillas, corchetes o
parntesis.
Ejemplo: <strong>ste sera un posible
caso</strong>
Quedando: <strong>ste sera un posible
caso</strong>
Ejemplo: ste sera otro <em>caso</em>
posible
Quedando: ste sera otro <em>caso</em>
posible
7.05 (?<![(])(<[^hp>]+>)([(]+)(?!N\.|Nota de)(?=[^\n)<]+</[^>]+>[!?)]) \2\1 Esta expresin est relacionada con la anterior
y su comportamiento depende la decisin
tomada en ella.
Su objetivo es localizar signos iniciales de
puntuacin dentro de un texto delimitado por
etiquetas de enfatizado o negrita, permitiendo
al revisor extraerlos fuera de las mencionadas
etiquetas. La deteccin slo se produce si el
signo de cierre est fuera de la
correspondiente etiqueta.
Ejemplo: <strong>ste sera un posible
caso</strong>!
Quedando: <strong>ste sera un posible
caso</strong>!
Ejemplo: ste sera otro <em>caso</em>
posible
Quedando: ste sera otro <em>caso</em>
posible
7.06 (?|([\pL\pN][.,;:?!)]{0,2})(\pP{0,3}(?<!&nbsp;)<[^/<au]+?>)|(?<!>\p{Lu}|/>)(</[^<]+?>(?![,.:;]?&)[?!)]{0,2}[.,;:
]{0,2})(\pP{0,3}[\pL\pN](?!<su|\d?</span)))
\1 \2 Esta expresin sirve para localiza palabras
entre etiquetas sin espacio previo o posterior a
ellas y por tanto unidas a otras palabras.
Ejemplo: En este caso<em>concreto</em>
tiene que parar.
Quedando: En este caso <em>concreto</em>
tiene que parar.
7.07 [\pL\pN>)]\K(?[.,;:!?)\]])\s?(<(a|s)[^\n,]+?[^;]</a>(</sup>)?(?![.,;:!?)\]])?) \2\1 Esta expresin tiene como cometido localizar y
corregir las posiciones de las llamadas a las
notas de un libro manteniendo el criterio de
situarlas antes de los signos de puntuacin.
Ejemplo: Texto de <em>nota</em>.
<llamada a nota>
Quedando: Texto de <em>nota</em><llamada
a nota>.
NOTA: RAE (Comillas 3.c)
8 ORTOGRAFA, ACENTUACIN, TIPOGRAFAS
En este grupo he includo como ayuda una serie de bsquedas que tienen por objeto unificar una serie de
criterios ortogrficos y tipogrficos a lo largo del libro.
Las nuevas normas gramaticales han producido modificaciones en algunos aspectos con raigambre por lo
que en algunos textos los encontramos de una manera y en otros de otra.
Mediante ellas el revisor podr adecuarlas en funcin de cmo hayan sido incluidas en su texto al objeto de
mantener el mismo criterio.
Igualmente se facilita el enfatizado y desenfatizado de una serie de extranjerismos, tratamientos personales y
latinismos en concordancia con lo recomendado por la RAE.
8.01 Quitar tilde: RAE posterior a 2010
Las cinco expresiones que se incluyen en este subgrupo tienen por finalidad localizar los pronombres demostrativos y
los monoslabos acabados en iis, iis, i e i con el fin de eliminar la tilde en ellos.
8.011 (\PL\K)((st?([ae]s?|os))) \1E\2 Esta bsqueda tiene por objeto unificar el
criterio de acentuacin de los pronombres
demostrativos. Si en el libro hay algunos
acentuados pero no todos, esta bsqueda
localizar sta ste stas sa
sas y se con el fin de eliminar la tilde.
NOTA: Como toda expresin que trabaja con
grupos de palabras, es posible que no realice
detecciones de los verbos que acompaa por
no estar stos dentro de los incluidos en la
expresin.
8.012 (?|(?i)(\PL\KAqu)(l(l(as?|os))?)|(?-i)(\PL\K)((st?([ae]s?|os)))) \1e\2 Esta bsqueda es similar a la anterior pero
circunscrita a Aqul, Aqullos, Aqullas
y los pronombres de la expresin 9.03 cuando
aparecen en minscula.
NOTA: Como toda expresin que trabaja con
grupos de palabras, es posible que no realice
detecciones de los verbos que acompaa por
no estar stos dentro de los incluidos en la
expresin.
8.013 (?i)\PL(?![ao])\pL{1,2}i\K(?=is\PL) a Esta bsqueda localiza los monoslabos
acabados en iis con el fin de sustituirlos a
criterio del revisor por sus equivalentes sin
acento.
8.014 (?i)(?<=\PL)((([fglp]|cr)u?i?)|\pLi)\K(?=(is)?\PL) e Esta bsqueda es similar a la anterior para las
palabras gui, li, pi, fi y cri.
8.015 (?i)(?<=\PL)(([dflprv]|[cf]r|gu)i)\K(?=\PL) o Esta bsqueda localiza di, fi, li,
pi, ri, vi fri, cri y gui, con
el fin de sustituirlas a criterio del revisor por sus
equivalentes sin acento.
8.02 Poner tilde: RAE anterior a 2010
Las cinco expresiones que se incluyen en este subgrupo tienen por finalidad localizar los pronombres demostrativos y
los monoslabos acabados en iais, ieis, ie e io con el fin de acentuarlos grficamente.
8.021 (?<![Aa]l|ala|costa|direccin|[Ee]l|entrada|lado|lmite|orientacin|orilla|parte|sentido)(\PL\K)E((st?(as?|e|os))(?=\s?
[.,:;!?)]|(<.+?"?>)?\s(al?|(acce|po)dan?|antes?|apenas|an|con|cuy[ao]|de(?=\sl[ao]s?)|desde|[df]ijo|e[lns]?|e(ran?
|st)|fue(r[ao]n?)?|fundamental(es)?|h(acen?|an?|izo)|l[aeo]s?|[lmsv]ea|[lmst]el?|ms|n[io]s?|nunca|[ouy](?!\s(aqu[e]l|
[e]st?[aeo]s?|otr[ao]s?))|para|por|que(?=\s\S+[aei]r\PL)|qui[e]n|s[iou](lo)?n?|siempre|solan?|tan|un|v[ai]?|ya|\S*
([ai]ban?|[aer]r|[ae](r[ao]n|san)|(?<!atu|rem|tru)[ae]ndo|(?<!ca|dia|[fgt]o|iro|[mr]a)[bn](a|i)[ns]?|[^f]ecan?|garan?|[^gq]
\1\2 Esta bsqueda tiene por objeto unificar el
criterio de acentuacin de los pronombres
demostrativos. Si en el libro hay algunos
acentuados pero no todos, esta bsqueda
Bsquedas avanzadas Sigil ePubLibre
RegEx 10.0 (Explicacion).html[26/09/2014 6:30:32]
((?<!f)i|u)e(ra|se)n?|\S[lr]aran?||(?<!ar|q|\s|\sg)[dptu]an?|rran?|(?<![egnt]|ad|br|ci|ech|id|gal|ja|jad|mis|ped|sos|ub)[^f]
[rv]an?|uvo|(?<![eo]f|nm|p)(e[bn](e|sa)|(?<!nd)ice|lleva|ala|uele)n?))[!?,:;.)\]\s]))
localizar Esta Este Estas Esa
Esas y Ese con el fin de acentuarlos
grficamente.
NOTA: Como toda expresin que trabaja con
grupos de palabras, es posible que no realice
detecciones de los verbos que acompaa por
no estar stos dentro de los incluidos en la
expresin.
8.022 (?|(?i)(?:(?<![\PLd]el)\s\S*|\pP)(\PL\KAqu)e(l(l(as?|os))?)|(?:(?<![\PLd]el)\s\S*(?
<!al|la|costa|direccin|el|entrada|lado|lmite|oeste\sa|orientacin|orilla|parte|sentido)|\pP)(?-i)(\PL\K)e((st?(as?|e|os))))(?
=(\s[\[(])|[.,:;!?)]|\s\p{Lu}|(<.+?"?>)?\s(al?(?!\soeste)|(acce|po)dan?|antes?|apenas|an|con|cuy[ao]|de(?
=\sl[ao]s?)|desde|[df]ijo|e[lns]?|e(ran?|st)|fue(r[ao]n?)?|fundamental(es)?|h(acen?|an?|izo)|l[aeo]s?|[lmsv]ea|[lmst]el?
|ms|n[io]s?|nunca|[ouy](?!\s(aqu[e]l|[e]st?[aeo]s?|otr[ao]s?))|para|por|que(?=\s\S+[aei]r\PL)|qui[e]n|s[iou](lo)?n?
|siempre|solan?|tan|un|v[ai]?|ya|\S*([ai]ban?|[aer]r|[ae](r[ao]n|san)|(?<!atu|rem|tru)[ae]ndo|(?<!ca|dia|[fgt]o|iro|[mr]a)
[bn](a|i)[ns]?|[^f]ecan?|garan?|[^gq]((?<!f)i|u)e(ra|se)n?|\S[lr]aran?||(?<!ar|q|\s|\sg)[dptu]an?|rran?|(?<!
[egnt]|ad|br|ci|ech|id|gal|ja|jad|mis|nic|ped|sos|ub)[^f][rv]an?|uvo|(?<![eo]f|nm|p)(e[bn](e|sa)|(?<!nd)ice|lleva|
ala|uele)n?))[!?,:;.)\]\s])
\1\2 Esta bsqueda es similar a la anterior pero
circunscrita a Aquel, Aquellos, Aquellas
y los pronombres de la expresin 9.01 cuando
aparecen en minscula.
NOTA: Como toda expresin que trabaja con
grupos de palabras, es posible que no realice
detecciones de los verbos que acompaa por
no estar stos dentro de los incluidos en la
expresin.
8.023 (?i)\pLi\Ka(?=is\PL) Esta bsqueda localiza los monoslabos
acabados en iais con el fin de sustituirlos a
criterio del revisor por sus equivalentes con
acento.
8.024 (?i)(?<=\PL)(([fgl]|cr)u?i)\Ke(?=\PL)|\pLi\Ke(?=is\PL) Esta bsqueda es similar a la anterior para las
palabras guie, lie, fie y crie y sus
plurales.
8.025 (?i)(?<=\PL)(([flpr]|[cf]r|gu)i)\Ko(?=\PL) Esta bsqueda localiza fio, lio, pio,
rio, frio, crio y guio, con el fin de
sustituirlas a criterio del revisor por sus
equivalentes con acento.
8.03 Enfatizados
Este grupo de expresiones detecta palabras comunes que deben enfatizarse siguiendo las recomendaciones de la
RAE y el desenfatizado de trminos latinos adaptados al espaol.
8.031 (?i)(?<!m>|ep">|\pL)((baby(-sitter)?|best-?seller|bourbon|bri(dge|oche)|cabaret|chantilly|chiffon|compact
disc|cr[ai]ck(et)?|croquet|(mini)?croissant|dandy|drugstore|dry|(e-)?mail|express|fast-food|ferrie|ghetto|graffiti|hacke?a?
(do)?r?|(?-i)jean(?!-|\s\p{Lu})|jeep|(?i)jockey|loft|lounge|lunch|music-?hall|(?-i)nick|(?
i)nightclub|pack|parking|pendrive|p[i]cnic|piercing|pin-up|ping-pong|p[i]tcher|(pon|troll)e?y|post(-it)?
(?!\smrtem)|premium|pub|puenting|self-service|reset([^\s\pP]+?)?|rock(n| and) roll|round|(?-i)(boy )?scout|(?i)sex-
shop|sho(ck|rt)|snob|snuff|spam|speaker|standing|stripper|swing|tempura|toilette|trench|tweed|voyeur|walkman|wifi|zap?
ping|zoom|((brand|cook|countr|hipp|hobb|pant|whisk)(y(?!s)|ie)))(s|))(?!</(e|sp)|\pL)
<em>\1</em> Esta expresin localiza extranjerismos que
aparecen con frecuencia en los textos,
permitiendo su enfatizado de forma automtica.
8.032 (?i)(?<!m>|\pL)(a\s(posteriori|priori)|ad hoc|alter ego|de facto|ex\s(aequo|professo)|grosso modo|habeas
corpus|honoris causa|in\s(albis|crescendo|extremis|fraganti|situ|vitro)|ipso facto|modus\s(operandi|vivendi)|motu
proprio|post mortem|quorum|sine die|statu quo|sine qua non|sub [ij]udice|sui generis|summum|via crucis|vox populi)(?!
</(e|sp)|\pL)
<em>\1</em> Esta expresin localiza latinismos que
aparecen con frecuencia en los textos,
permitiendo su enfatizado de forma automtica.
NOTA: RAE (Latinismos)
8.033 (?i)<em>(lter ego|ex profeso|hbeas corpus|post mrtem|qurum|sub jdice|sui gneris|smmum|va crucis|vox
ppuli)</em>
\1 Esta expresin localiza latinismos adaptados
al espaol y que pueden aparecer enfatizados
en los textos, permitiendo eliminar su
enfatizado de forma automtica.
NOTA: RAE (Latinismos)
8.034 (?i)(?<!m>|\pL)((baronet|fr[a]u(lein)?|herr|m(a|es)dame|m(es|o)nsieur|mademoiselle|miss|pater|rabbi|sahib|sha|sir|
((mi)?lad)(y(?!s)|ie))(s|))(?!</e|[\pL-])
<em>\1</em> Esta expresin localiza tratamientos
personales que aparecen con frecuencia en los
textos, permitiendo su enfatizado de forma
automtica.
8.04 (?i)((?<!ni\s)\PL\Kaun(?!\s(antes|aqu[e]l|as|cuando|despus|si|(\S+?[ae])ndo|en|sin))|adonde(?!\s(l|\S*(aban?|eran?|
an?)))|\PL\K(cuan(ta)?|mas(?!\slos?)))(?=\PL)
No hay Esta bsqueda pretende la localizacin de
palabras frecuentes que pueden darse con o
sin tilde.
En concreto intenta localizar aqullas que
debieran llevarla y no lo hacen.
8.05 \PL\K(?i)el(?=[.,:;?!)\]]|\s\p{Lu}|(<[^>]+>)|\s[(]?(<[^>]+>)?((casi|mismo|no)\s)?(abre|an|casi|[cf]?[lpr]?(gu)?io|
[cgpt][io][md][ae]|dij?n?z?o|es?t?(ra)??|fue|[hvy]a|hacia|hizo|i[br][a]|jams|l[aeo]s?|[ms]e|nada|n?(os)?i?
(?!\.)|p(one|udo)|[ouy]|s|\S+((?<!cap|domin|plat)i?s?|uvo|enas|m(bin|poco)|[aei](ba|r)|(?<!env|cl|ort|\sc|\sp|w)[aep]
(r[ae]|se)|(?<!anv|\sgu|ig|iod|lic|sp|[\s]d)a|(?<!c[ar]|[rs]a)un?[cdy]e))[\s.,:;?!)\]])
No hay Esta expresin intenta localizar el o El
cuando actan en forma de pronombre. Las
detecciones se reducen a una serie de
posibilidades corrientes pero no abarcan su
totalidad.
NOTA: Como toda expresin que trabaja con
grupos de palabras, es posible que o bien no
realice detecciones de los verbos que
acompaa o detecte como errores casos que
no lo son.
NOTA: Si el nmero de coincidencias es
elevado puede usarse como reemplazo l o l
segn la capitalizacin deseada.
8.06 \PL(?i)t\Ku(?=[.,:;?!)\]]|(<[^>]+>)|\s[(]?(<[^>]+>)?((casi|mismo|no|siempre)\s)?(dij?n?z?iste|[hvy]a?s?|s|
(fu|hic)iste|an|i[br][a]s|[mt]e|n?(os)?i?|l[aeo]s?|p(one|uede)s|[cgpt][io][md][ae]s|es?t?(ra)??s|[^\s\p{Lu}]{2,}((?<!
[i]|dio|mie|o|uma)s|i?s?abas|uviste|enas|m(bin|poco)|[aei](ba|r)s|[aep](r[ae]|se)s|(?<!lic|sp|anv|ig|iod|\sgu)as))
[\s.,:;?!)\]])
Esta expresin localiza el pronombre tu sin
tildar para reemplazarlo por el pronombre
tildado.
8.07 (?i)D[][lmst]e(?=\PL) No hay Esta expresin encuentra formas acentuadas
llanas de imperativos frecuentes del verbo
dar que no deben ir tildadas.
8.08 \PL\K(anti|auto(?!\s(con|de))|co|ex|intra|neo|pluri|pos|pr[eo]|p?seudo|semi|s[u]p(er|ra)|vice)(\s(?!\p{Lu}|del?\PL|
[oy]\s|profeso\PL|que)|-(?![\p{Lu}\pN]))
\1 Esta expresin localiza distintos tipos de
prefijos separados de la base a la que se
anteponen con el fin de unirlos a ella.
NOTA: RAE (Prefijos)
9 BSQUEDAS VARIAS
Dentro de este grupo heterogneo se encuentran una serie de expresiones no incluidas en los anteriores por
no ajustarse a las caractersticas de cada grupo.
9.01 (?i)[]\K(cuan.o\s(?!vaya)|como(?!\s(a|antes?|cul(es)?|cu[a]ndo|e[ln]|est?[ae]s?|hoy|(l[ao]s?)\sque|mi|
[nv]uestr[ao]s?|para|por|qu(|in)|sea|s[iu]s?|todos?|usted(es)?|yo))|cual|([^\n!?]+?)?(((?<!aba|all|arse|lugar|qu)\s)?
\K\ba?donde(?!\s(e[ln]|antes|estn|ha(st|y)a|m[i]s|muchos?|n[io]|quede|[st][u]|tod[ao]|una|usted(es)?|\S*(amos|ayas?|
[duv]iera[ns]?|(ra|se)mos|ueda[ns]?)))|((?<!\PLa|l|es|hay|\PLyo)\s)\Kquien(?!\s(el(la)?|no|quiera|sea|tant[ao]s?|un[ao]?
|\S*(ara[ns]?|iera[sn]?|i(ga|re)))))|que(?!\s([lms][ei]\s)?(\p{Lu}|alg[u](ie)?n[ao]?s?|apenas|aqu[e]l(la)?|a?
s[i]|cada|cmo|con|de|dnde|Dios|[e]l(la)?|entr[ae]|[e]st?[aeo]s?|hasta|[hv]ay[^?]|hoy|iba|l[ao]s?\PL|nadie|no|
[nv]uestros?|por|pueda|quin(es)?|san|slo|son?(is)?|tod[ao]s?|t[u]|una?|y[ao]|\S*([ae]l?te[ns]?|(an|e)cen?|(al|
[in]|ha)g[a]i?[ns]?|[bdnrt]ara[ns]?|dure[ns]?|ep?an?|ee|e|elva[ns]?|o(jan?|ne)|rne[ns]?|st[e]n?|(?<!p)ue[drsv][ae][ns]?)|
[^!?]*qu)))(?![\pL;,])
No hay Esta expresin es una utilidad que permite
encontrar palabras entre interrogaciones o
exclamaciones que comenzando por alguna
partcula interrogativa debieran llevar tilde.
9.02 (?i)(\PL\K(pero|mas)),(\s[]) \2\3 Esta expresin busca el patrn formado por
pero o mas seguido de una oracin
interrogativa o exclamativa y separadas por
Bsquedas avanzadas Sigil ePubLibre
RegEx 10.0 (Explicacion).html[26/09/2014 6:30:32]
una coma, con el fin de eliminarla.
Ejemplo: pero, qu me dices?
Quedando: pero qu me dices?
NOTA: RAE (Comas: usos incorrectos 3.3)
9.03 (?i)(?|([\pNn])(||<sup>er)|(N)\.o) \1.\2 Esta expresin localiza nmeros ordinales con
letra volada en los que falta el punto de
abreviatura entre dicho nmero y la letra
volada.
Ejemplo: 1
Quedando: 1.
NOTA: RAE (Abreviaturas 6d)
9.04 ([^\pL\pN])\K((\pL|\pN){1,})(\s|<.{1,7}>\s<.{1,7}>)(?<!0{3}\PL)\2(?=[^\pL\pN-]) \1\2\4\2 Esta expresin permite localizar dos palabras
iguales contiguas.
Adems de la posibilidad de que se trate de un
error puede darse el caso de que entre ambas
palabras deban existir puntos suspensivos.
El reemplazo se establece para este ltimo
caso.
9.05 (?i)\PL\Kh(?=(e|as?)\s(?!lugar|(medio )?[\pL<>]*([ai]?do|[ilors]to|cho|e|h|qu[]|ll[]|c)\PL)) No hay Con esta expresin se intenta localizar frases
que comienzan por ha, has o he y no
son seguidas por verbos acabados en los
finales de participio ms corrientes.
En estas circunstancias ha, has y he
probablemente se traten de errores y se
refieran a la, las o le.
Tambin la expresin puede servir para
detectar fallos de concordancia.
Ejemplo: ha puerta
Ejemplo: he dijo
Ejemplo: he dicha
NOTA: Como toda expresin que trabaja con
grupos de palabras, es posible que o bien no
realice detecciones de los participios no
incluidos o detecte errores que no lo son del
tipo no ha lugar.
9.06 (?i)(?(?=vi[^i]|[clv]?i?d|[cm]m|[dm]i|clic|lcd|(m|ci)?v?il|[mdcl][<.,\s)\]]) |(?<=siglo\s|siglos\s|ao\s|aos\s|\P{Lu}{8}(?
<!rayos)\s|\PL[oy]\s|[,;]\s|del\s|al\s|)([mdclxvi]+(?:-[mdclxvi]+)?)(?=[\s<)?!,.;:&]([^&\pN\p{Lu}\s]|\s(<[^>]+>)?
(\pP{0,2}?\pL+?[.,;]?[<\s]|[&\pN])))(?!<small))
<small>\U\2\E</small> Localiza nmeros de cifras romanos que se
encuentren en minsculas o maysculas y los
transforma en maysculas versalitas.
NOTA: La bsqueda no detecta el nmero
VI por coincidencia con el pasado de ver,
para la comprobacin de este ordinal es
necesario usar la expresin 8.06a. La
expresin tiene en cuenta la existencia de
nombres propios previos al ordinal romano
pero slo en una profundidad de 8 caracteres.
NOTA: RAE (Uso de los nmeros romanos
3.1a)
9.06a (?i)(?(?=[clv]?i?d|[cm]m|[dm]i|clic|lcd|(m|ci)?v?il|[mdcl][<.,\s)\]]) |(?<=siglo\s|siglos\s|ao\s|aos\s|\P{Lu}{8}(?
<!rayos)\s|\PL[oy]\s|[,;]\s|del\s|al\s|)([mdclxvi]+(?:-[mdclxvi]+)?)(?=[\s<)?!,.;:&]([^&\pN\p{Lu}\s]|\s(<[^>]+>)?
(\pP{0,2}?\pL+?[.,;]?[<\s]|[&\pN])))(?!<small))
<small>\U\2\E</small> Esta expresin es totalmente anloga a la
anterior pero aade la localizacin de VI, en
este caso ser el corrector el que determine la
necesidad o no del reemplazo.
9.07 (?i)(|(?<=\PL)(anos?|calibre\d+|(cu|gua)ndo|dientas?|[ds]o(?!\s(pena|pretexto)|-)|loa|muas?|n[o.]?\s(?=\pN)|pes?|por
que|pulpito|(?<!con\s|decisiones\s|medida\s|muy\s|son\s)sabias?(?!\spalabra)|sgc-|(?<=el|un )sota|[tv]enias?|(?-
i)Osear)(?=\PL)|(?<!;)&[^#a][^b;]+?;(?!&)|<br />)
No hay Esta expresin localiza errores simples y
frecuentes que no se han incluido en alguna de
las bsquedas precedentes.
Los resultados son vlidos en algunas
ocasiones por lo que se debern comprobar
una a una las coincidencias.
Trminos buscados:

ano/s cundo dienta/s do guando
loa mua/s osear pe/s por
que
pulpito sabia/s so sota tenia/s
venia/s
<br /> etiquetas
&
grados

N. 12 n.o 25
sgc-
B. GRUPO DE EXPRESIONES PARA COMPATIBILIDAD DE DISPOSITIVOS
Este grupo B tiene por finalidad proporcionar compatibilidad de la estructura del texto en el mayor nmero posible de lectores electrnicos. No se trata por lo tanto de expresiones que
corrijan errores sino que intentan evitar comportamientos extraos de los lectores en el manejo que hacen del ePub. Estos comportamientos no se dan en todos los modelos pero la
inclusin de las soluciones propuestas con estas RegEx posibilitan que no se produzcan en otros. Su empleo es opcional aunque conveniente.
N BSQUEDA REEMPLAZO USO
B.01 (?|<p>|<p( )class="((?!extenso).+)">)(.{4000,}</p>) <p class="extenso\1\2">\3 Permite la localizacin de prrafos de ms de 4000 caracteres y
les aplica una clase extenso que est definida en el CSS.
Con esta expresin se intenta solucionar el comportamiento de
determinados lectores que cuando se encuentran con un prrafo
extenso (ligeramente por encima de los cuatro mil caracteres)
dividen de forma aleatoria el prrafo y lo colocan al principio de la
siguiente pgina, dejando por lo tanto un espacio en blanco en la
anterior.
B.02 (?<!\pL)(\pL)\1?\.\K\s(?=(\pL)\2?\.(?!</sp)) &nbsp; Esta expresin localiza abreviaturas separadas por un espacio en
blanco que queda sustituido por la etiqueta HTML &nbsp;
Ejemplo: a. C.
Quedando: a.&nbsp;C.
Bsquedas avanzadas Sigil ePubLibre
RegEx 10.0 (Explicacion).html[26/09/2014 6:30:32]
Con esta expresin se corrige la posibilidad de que los lectores
separen en lneas diferentes la abreviatura si se encuentra al final
de una lnea. Aunque la etiqueta realiza la misma separacin que
un espacio en blanco, a efectos de los lectores es un espacio no
divisible, por lo que siempre mantiene agrupado el conjunto.
NOTA: Previo al empleo de esta expresin es aconsejable realizar
un recuento del nmero de coincidencias y decidir al respecto. Esta
expresin es aconsejable en libros con un nmero importante de
abreviaturas. La expresin B.03 es capaz de detectar la mayor parte
de las situaciones en las que puede dividirse un texto en dos lneas,
incluidas las abreviaturas, pero introduce ms cantidad de texto en
su solucin por emplear la etiqueta <span>seguida de la clase
'nosep'. La expresin B.02, si bien no es tan completa como la
sealada B.03, reduce el nmero de caracteres en la situacin
mencionada de un nmero elevado de abreviaturas.
B.03 (?|(?<![\pL-]|[p"b]>|[p"b]><em>|[p"b]><strong>|p">\()\K(\p{Lu}<[^/>]+?>\S+?
</s[^>]+>(?!-|\pL|\pN))|[^\pL>]\K(<big>\p{Lu}[^>]+?>[^<\s]+)(?
=\PL)|\PL\K([]?((\pL)\3?\.\s)+(\pL)\4?\.[]?)
(?!\s\pL\.)|\PL\K((\p{Lu}\s)+\p{Lu}(?!\s\p{Lu}|\pL))|(\p{Sc}?((?
<!ep">)\pN{1,3}\s([x]\s)?)+\pN+(\s(\pL{1,2}\.|\p{Sc}))?(?!\s?
(\pN|\pL{1,2}\.|\p{Sc})))|\PL\K((?:\p{Lu}.{1,2}\.\s)?[^>\s]+[\pL-]+
(?!\pL))|\s\K(\(?\pL(<[^>]+>)?[^\s\pP"/=]{3,}(<[^>]+>)?\s(<[^e>]+>)?
[IVXLCM]+\)?(<[^u>]+>)?(?=(?<!</p>|</h.>)[\s.,:;\)!?]|</(h.|p)>))|[^/\pL-
\pN]\K(\(?[\pL,\pN]{1,4}[:-][^<-\s\pP]{1,4}\)?([-,]\pN{1,4})?)(?=[.,:;?!\s]
(?!\pN)|</)|\PL(\p{Lu}{1,2}(<.+b>)?(-\p{Lu}{1,4}(<.+b>)?)+)(?![\pL<\pN-]))(?!
(</[^>]+>)?[]?</span>)
<span class="nosep">\1</span> Esta expresin trata de manera nica las abreviaturas recogidas en
la expresin B.02 junto con otros casos especiales como etiquetas
<small> o <big>, clase "versalita", fechas, nmeros o palabras
compuestas cortas separadas por el guin -, frmulas qumicas,
palabras con apstrofo...
En todos estos casos la expresin inserta la clase 'nosep' mediante
la etiqueta <span>.
Ejemplo: P<small>RUEBA</small>
Quedando: <span class="nosep">P<small>RUEBA</small>
</span>
Ejemplo: 11-12-2013
Quedando: <span class="nosep">11-12-2013</span>
Ejemplo: <em>e-mail</em>
Quedando: <em><span class="nosep">e-mail</span></em>
Ejemplo: P. D.
Quedando: <span class="nosep">P. D.</span>
Ejemplo: K-47
Quedando: <span class="nosep">K-47</span>

NOTA: Previo al empleo de esta expresin es aconsejable realizar
un recuento del nmero de coincidencias y decidir al respecto.
Coincidencias al inicio de lnea no se dividirn por lo que no tiene
por qu emplearse esta solucin.
El uso tanto de B.02 como de B.03 queda a criterio del corrector en
la idea de hacer un uso de ellas ajustado a lo que se pretende.
B.04 (?<!\pL|[p"]>)\K(\p{Lu})<(?:[^/>]+?)>(\S+)\s([^<]+)</s[^g>]+> <span
class="nosep">\1<small>\2</small>
</span><small>\3</small>
Esta expresin localiza frases de ms de una palabra en
maysculas sobre las que se ha aplicado la clase 'versalita' o la
etiqueta <small>a partir de la segunda letra de la primera palabra,
con el fin de aplicarles la clase 'nosep', que est definida en el CSS,
que evita el comportamiento errneo de algunos lectores que
dividen el texto por la segunda letra que lo forma.
Ejemplo: P<span class="versalita">RUEBA MLTIPLE</span>
Quedando: <span class="nosep">P<small>RUEBA</small>
</span><small>MLTIPLE</small>
Ejemplo: P<small>RUEBA MLTIPLE</small>
Quedando: <span class="nosep">P<small>RUEBA</small>
</span><small>MLTIPLE</small>
B.05 [^#-\s:,.;&</>"\x{200B}]{25,} No hay Esta expresin localiza palabras con al menos veinticinco
caracteres a las que puede ser necesario aplicar una propiedad que
haga que se dividan adecuadamente en uno o varios hipotticos
saltos de lnea.
El reemplazo que se propone no es tal sino la forma ms
compatible y que mejores resultados ha dado en la divisin silbica
de la palabra a tratar, que es el uso de la etiqueta &#8203;
La idea es su introduccin manual al final de cada una de las
slabas que formen la palabra. Si esta palabra no tiene un sentido
literario, la introduccin de la etiqueta puede hacerse en cualquier
parte de ella.
C. EXPRESIONES PARA AYUDAS A LA MAQUETACIN
Este grupo C tiene por finalidad ayudar al editor en tareas propias de la maquetacin de textos que conlleven la sustitucin o bsqueda masiva o la aplicacin de clases especiales
definidas en la hoja CSS. Al igual que el grupo B NO REALIZAN correcciones ni detectan errores.
N BSQUEDA REEMPLAZO USO
C.01 (?i)(?<!m>|\pL)((texto)(s|))(?!</e|\pL|-) <em>\1</em> Esta expresin realiza el
enfatizado de todas las palabras
que coincidan con texto estn o
no en maysculas o minsculas
evitando el anidamiento recursivo
del enfatizado.
Ejemplo: monsieur
Quedando: <em>monsieur</em>
C.02 <em>(.+?)</em> \1 Esta expresin elimina el
enfatizado de todo aquello que se
encuentre entre las etiquetas de
nfasis, se trate de una sola
palabra, de un grupo de ellas o de
prrafos completos.
El reemplazo debe hacerse de uno
en uno en funcin de si se desea o
no eliminar cada caso.
C.03 (?|(<h.+\n{1,3}\s{1,7}(|
<p.+subt.+?">.+\n\s{1,7})))<p>
\1 <p class="asangre"> Esta expresin permite modificar la
etiqueta <p>del primer prrafo
cuando queremos que incluya la
clase 'asangre'. Tiene en cuenta la
posibilidad de un subttulo previo
definido por una clase que empiece
al menos por subt
Ejemplo: <h3
id="heading_id_2">1</h3>
<p>Aqu empieza el
prrafo
Quedando: <h3
id="heading_id_2">1</h3>
<p
class="asangre">Aqu empieza el
prrafo
Ejemplo: <h3>1</h3>
<p class=subtit>Aqu
va el subttulo
<p>Aqu empieza el
Bsquedas avanzadas Sigil ePubLibre
RegEx 10.0 (Explicacion).html[26/09/2014 6:30:32]
prrafo
Quedando: <h3>1</h3>
<p class=subtit>Aqu
va el subttulo
<p
class=asangre>Aqu empieza el
prrafo

Si la clase para el subttulo no
empieza por subt ser necesario
modificar la expresin con el
nombre que corresponda.
C.04 (?(?=<.+
(asangre|centrado|cita|derecha).+>) |
(?:<p class=")\K(?:([^>]+?)(\s)?)?
(\bsalto(?:25|inicio)\b)(\s)?(([^>]+?)?)(?
="))
\4 asangre\3\2\5\6 Esta expresin permite aadir la
clase 'asangre' en los saltos de
escena definidos mediante 'salto25'
o 'saltoinicio' vayan o no
acompaados de otras clases.
Ejemplo: <p class="cursiva
salto25 negrita">Prrafo
Quedando: <p class="salto25
asangre cursiva negrita">Prrafo
NOTA: Tras el reemplazo siempre
aparece en primer lugar el salto
seguido de 'asangre' y el resto de
clases que incluyese.
C.05 (<p>(&nbsp;|(|&nbsp;)<br />)
</p>\n{1,3}\s{1,7})+<p>
<p class="salto25 asangre"> Esta expresin sirve para eliminar
los saltos de escena que se
realizan sin una clase 'salto25'
remplazndolos por ella y la clase
'asangre'.
Ejemplo: <p>&nbsp;</p>
<p>Aqu empieza el
prrafo
Quedando: <p class="salto25
asangre">Aqu empieza el prrafo
Ejemplo: <p><br /></p>
<p>Aqu empieza el
prrafo
Quedando: <p class="salto25
asangre">Aqu empieza el prrafo

NOTA: La expresin tiene en
cuenta la posible repeticin de
saltos. Si en lugar de un 'salto25'
se pretende uno diferente, el
reemplazo tendr que modificarse
en consecuencia.
C.06 (<h.+>)(Captulo [^\s]{1,7}|\pN)\s(.+)
(</h.>\n)
\1\2\4 <p class="subtit">\3</p> Esta expresin permite modificar la
cabecera h de una seccin cuando
junto al nmero de captulo
aparece el texto de su ttulo,
sustituyndola por una clase 'subtit'
que debe estar definida en el CSS
Ejemplo: <h3
id="heading_id_2">Captulo 1 aqu
viene el ttulo</h3>
Quedando: <h3
id="heading_id_2">Captulo
1</h3>
<p class="subtit">aqu
viene el ttulo</p>
Ejemplo: <h3>1 aqu viene el
ttulo</h3>
Quedando: <h3>1</h3>
<p
class="subtit">aqu viene el
ttulo</p>

Si la denominacin de la clase no
es 'subtit' hay que escribir en el
reemplazo la que se haya definido
en el CSS.
C.07 (<h.+>.+)<br\s?/>(\n\s{0,10})(.+)(?||
<br\s?/>\n\s{0,10}(\s.+))(</h.>)
\1\5\2<p class="subtit">\3\4</p> Esta expresin permite modificar la
cabecera h de una seccin cuando
se ha usado el salto <br />para
dividir el ttulo, sustituyndola por
una clase 'subtit' que debe estar
definida en el CSS
Ejemplo: <h3
id="heading_id_2">1<br />
aqu viene el
subttulo</h3>
Quedando: <h3
id="heading_id_2">1</h3>
<p class="subtit">aqu
viene el subttulo</p>

Obviamente si la denominacin de
la clase no es 'subtit' hay que
escribir en el reemplazo la que se
haya definido en el CSS
NOTA: La expresin localiza un
mximo de dos <br />dentro de la
cabecera.
C.08 (?(?=<.+title.+>|<.+ttitulo.+>) |(<h[^>]*)
(>)(<[^>]+>)?((?:[IVXLC]+\.?\s)?\pL|\PL+?
\p{Lu})(<[^>]+>)?([^<>(]+\s|[^<>(]+)([(]?
[IVXLCD]+(?!\pL)[)]?)?(<[^>]+>)?
(<[^>]+>)?([^\n<>]+)?(<[^>]+>)?(<br />
(\s)*)?(\p{Lu})?([^\n<>]+)?(</h.>))
\1
title="\4\L\6\E\7\L\g{10}\g{13}\E\g{14}\L\g{15}\E"\2\3\4\5\6\7\8\9\g{10}\g{11}\g{12}\g{13}\g{14}\g{15}\g{16}
Esta expresin trabaja en captulos
que tienen su ttulo en maysculas
pero queremos que en el ndice del
libro aparezcan en minsculas.
Para ello aade la etiqueta title al
encabezado h correspondiente
manteniendo las maysculas del
ttulo
Ejemplo: <h1>TTULO DE
CAPTULO</h1>
Quedando: <h1 title="Ttulo de
captulo">TTULO DE CAPTULO
</h1>
Bsquedas avanzadas Sigil ePubLibre
RegEx 10.0 (Explicacion).html[26/09/2014 6:30:32]
C.09 (<h.)((?||\s(?!title).+)>)(<[^>]+>)?
([^\pP<>]+)(<[^>]+>)?(|\pP)(</h.>\s*
<p[^>]+sub[ct][^>]+>)(.)?(<.+?"?>)?
([^<>\n]+)(<.+?"?>)?([^<>\n]+)?(</p>)
\1 title="\4. \U\8\E\L\g{10}\g{12}\E"\2\3\4\5\6\7\8\9\g{10}\g{11}\g{12}\g{13} Esta expresin permite aadir un
subttulo de un captulo a la TOC
Ejemplo: <h2>Captulo 99:
</h2>
<p
class="subtit">periodo 1939-
1945</p>
Quedando: <h2 title="Captulo 99.
Periodo 1939-1945">Captulo 99:
</h2>
<p
class="subtit">periodo 1939-
1945</p>
C.10 (?<!\p{Ll})(\p{Lu})
([^\p{Ll}/\pN\n\s"!?.)]{2,}((\s\p{Lu}
{1,3}(?!\.))+)?)(?<![.,:;?!)])(?=</[ph].?
>|[\s.,:;?!)](?!(?i)x?html|"-|1.1/|
[\s\p{Lu}]+?</s))
\1<small>\2</small> Esta expresin sirve para localizar
palabras de ms de dos letras en
maysculas permitiendo
representar en versalitas todas las
letras excepto la primera. Cuando
la palabra va seguida de otras de
menos de 4 letras, quedan
incorporadas a la precedente.
Ejemplo: FRATERNIDAD
Quedando:
F<small>RATERNIDAD</small>
Ejemplo: GRUTA DE LA
HERMITA
Quedando: G<small>RUTA DE
LA</small>
NOTA: Realiza detecciones en los
nmeros romanos.
C.11 (\p{Lu}[^\p{Ll}/\pN\n"!?)]{4,})(?<!
[.,:;?!)])(?=</[ph].?>|[\s.,:;?!)]
(?!(?i)x?html|"-|1.1/|\p{Lu}+))
<small>\1</small> Esta expresin localiza frases
formadas por palabras en
mayscula para aplicarles la
etiqueta <small> y representarlas
en versalitas.
Ejemplo: GRUTA DE LA
HERMITA
Quedando: <small>GRUTA DE LA
HERMITA</small>
C.12 (?i)(\PL)\K(texto)(?=\PL) \1reemplazo Esta expresin busca la palabra
exacta recogida en texto
evitando palabras de mayor
longitud que la puedan incluir en su
interior.
El reemplazo es a criterio del
editor.
Ejemplo: rama
Evitando: trama
encaramado
C.13 ((?<!>)|[\pN\pL](<.+?"?>)?)[]((<.+?"?
>)?[\pN\pL])
\1-\3 Esta expresin, pese a que pueda
parecer correctora, se incluye
dentro de este grupo para facilitar
el cambio de la raya por el signo
menos - en aquellos casos en los
que dicha raya hace funciones de
guin separador.
El hecho de situarla en este grupo
se debe a facilitar el reemplazo
cuando se obtienen mltiples
coincidencias detectadas por la
expresin 2.02. En esta situacin la
mencionada expresin lo considera
como un error de la posicin de la
raya y facilita su ubicacin correcta.
Si las coincidencias son escasas el
reemplazo de la raya por el signo
menos puede hacerse de forma
manual, pero si el error abarca a
decenas de coincidencias es
preferible emplear la utilidad aqu
facilitada.
Ejemplo: 19601970
Quedando: 1960-1970
NOTA: El reemplazo masivo de
todas las coincidencias puede
introducir signos menos en lugares
donde s debiera haber una raya
como por ejemplo en casos como:
Esto es un errordijo l. Otras
RegEx detectarn posteriormente
esta posible situacin.
C.14 ([^>(\p{Lu}.]{4}[^\p{Lu}c])\K\.(?=\s([\(\
[]{0,2})(\p{Ll})(?=[^.]))
, En ocasiones la expresin 5.01
detecta mltiples errores de
palabras en minscula que siguen
a un punto. La correccin
propuesta es esa expresin
consiste en transformar la primera
minscula en mayscula.
Sin embargo puede darse el caso
de que dicho punto no tenga que
ser tal sino una coma. Si el nmero
de errores de este tipo es escaso
su correccin puede hacerse de
forma manual, pero si son decenas
de erratas la correccin del punto
en coma puede realizarse con esta
expresin.
Ejemplo: Por fin. dijo alguien,
Quedando: Por fin, dijo alguien,
Bsquedas avanzadas Sigil ePubLibre
RegEx 10.0 (Explicacion).html[26/09/2014 6:30:32]

You might also like