0 votos
246 vistas
Hace 25 años aprendí las tablas CC y llegué a ser bastante bueno en ello. Ahora estoy intentando estar a la altura de los tiempos y aprender expresiones regulares, ya que de alguna manera tuve la impresión de que changes.txt en PTXPrint las usaba. Sin embargo, las expresiones regulares que (por fin) logro hacer funcionar como quiero en uno de esos sitios web de tutoriales, no parecen funcionar cuando las pongo en changes.txt. Un cambio simple uno a uno no es problema, pero cuando intento usar (por ejemplo) paréntesis en un lado del > y luego una referencia inversa \1 en el otro lado, no funciona. Tengo la idea de que me faltan detalles sobre la sintaxis específica de la implementación en PTXPrint. ¿Hay alguna documentación sobre cuál es la sintaxis de changes.txt? ¿O qué subconjunto de RegEx admite?

PD - Logré hacer que mi expresión funcione en Reg Ex Pal en PTX también.
Traducción automática desde English
PTXprint por (206 puntos)
editado por | 246 vistas

2 Respuestas

0 votos
Resolví mi propio problema. Parece que ambos lados del cambio necesitan tener comillas dobles alrededor de toda la expresión regular, no solo alrededor de los literales. Sigo preguntándome si hay más documentación sobre esto en algún lugar. Por ejemplo, sé sobre "at GAL 1:5 ....", pero parece que en algún lugar vi algo (quizás en uno de los videos) usando una preposición diferente a "at". Me encantaría saber cuáles podrían ser, pero me rindo a la idea de volver a encontrarlo en los videos o diapositivas de PowerPoint. También me gustaría saber cuál es la sintaxis para dirigirse a párrafos individuales en el material de introducción. Puedo hacerlo en Ajustar listas (e.g. GAL 0.1  -1[13]), pero esta sintaxis no parece funcionar en changes.txt. De nuevo, no me gusta molestarlos por cada pequeño detalle, así que me encantaría saber dónde está todo escrito.
Traducción automática desde English
por (206 puntos)
editado por
0 votos

Sí, en efecto, admitimos Regex (y específicamente la variante de python). Tiene razón en que los códigos de barra invertida como \p deben escaparse con una \ para que aparezcan como \\p.

Aquí hay algunos ejemplos de las cosas que puede hacer:

# Hacer que el espacio antes de la última palabra en un encabezado de sección sea un espacio no separable.
"(\\s( \S+)+) (\S+\s*\r?\n)"  > "\1\u00A0\3"

# Si solo quiere que el código de libro de 3 letras aparezca en el campo de encabezado alternativo \h1 (para ayudar con la composición tipográfica)
"(\\id (...).+\n)" > "\1\\h1 \2\r\n"

# Cambiar cualquier \p normal al inicio de los capítulos que realmente parecen que deberían ser párrafo sin salto \nb
# at 2CO  2:0; 2CO  7:0; COL  2:0; COL  4:0; HEB 10:0  "\\p" > "\\nb"

# Reducir el párrafo que comienza en EXO 29:2 en un 2%
at EXO 29:1 "\\p" > "\\p^98"

# Eliminar el \b después de un \d dentro del libro de PSA
at PSA "(\\d .+?[\r\n])\\b[\s\r\n]" > "\1"

# Eliminar \b después de un encabezado de sección \s
"(\\s .+?[\r\n])\\b[\s\r\n]" > "\1"

# Solo para ciertos libros, insertar un salto de página ANTES del título del Esquema Introductorio
at MAT; ROM; 1CO; PHP; COL "(\\iot )" > "\\pb\r\n\1" 

# Solo para *algunos* libros, se ve mejor si el capítulo 1 comienza en su propia página
at MRK; JHN; 1TI; JAS "(\\c 1 ?\r?\n)" > "\\pb\n\1"

# Envolver líneas \io que son demasiado largas:
at MRK in "\\io\d [^\\]+\\ior": "ఆని పణిఙని" > "ఆని\u2028పణిఙని"
at LUK in "\\io\d [^\\]+\\ior": "బోదిసి, జబ్బుది" > "బోదిసి,\u2028జబ్బుది"

# Insertar un guion largo rodeado por un par de espacios antes del rango de ch:vs de \io1 y \io2
# Note que esto usa la notación IN, que restringe el cambio para que ocurra solo DENTRO del contexto especificado.
# Este es un truco muy útil para hacer que las reglas complejas sean mucho más simples especificando primero dónde pueden aplicarse.
in "\\io\d .+[\r\n]": "\s([0-9]+:[0-9:\-]+)" > "~~\u2014~~\1"

# Usar versalitas en lugar de MAYÚSCULAS
"CHAKRAMANG" > "\\sc Chakramang\\sc*"
at EXO 3:14 "IAWNGUOWI" > "\\sc Iawnguowi\\sc*"
at EXO 28:36, 29:6 "CHAKRAMANG VÜI CHIMSAIMA" > "\\sc Chakramang Vüi Chimsaima\\sc*"

# Reducir estos párrafos* en un 3% 
# (*en realidad es el \p que aparece antes del SIGUIENTE versículo el que se reduce)
at LEV 7:10; 13:44; 14:0; 16:19,22; 20:13,18; 24:0; 26:26; 27:8 '\\p(\s)' > '\\p^97\1'

La mayoría de lo anterior está documentado en las diapositivas dentro de esta enorme pila de diapositivas.

Traducción automática desde English
por (3,2k puntos)
Gracias por señalar la "pila de diapositivas". Dedicaré algo de tiempo a estudiarlo para ver qué más puedo aprender de ellas. Estos ejemplos también son útiles para ampliar mis horizontes en RegEx. Sigo sintiendo nostalgia por las tablas CC, pero lo superaré.
Traducción automática desde English
Referencia a los párrafos introductorios

Preguntas relacionadas

0 votos
3 respuestas 1,1k vistas
[There is no Help topic for RegEx Pal, so I'll start this thread for myself or anyone else to add helpful ... History panic (post #3) Key terms for search: regular expression
wdavidhj 1,4k preguntada jun 5, 2019
0 votos
10 respuestas 2,2k vistas
Is there are way to get the expressions on the User menu in RegEx Pal as a text file? The list of user ... . The latter could help us build a library of useful expressions.
wdavidhj 1,4k preguntada sep 10, 2015
0 votos
1 respuesta 227 vistas
La ayuda de Paratext dice: En el cuadro de búsqueda de la barra de herramientas, puede introducir el texto que ... notas? Gracias por cualquier ayuda que puedan darme al respecto.
john_nystrom 312 preguntada jun 15, 2021
0 votos
2 respuestas 228 vistas
(Robert Hunt writes) I installed PT7.5 on Win-XP as administrator, but run as a regular user. However, it keeps ... like Update is downloading but never seems to get anywhere.
anónimo preguntada abr 10, 2015
0 votos
2 respuestas 154 vistas
He tenido la experiencia de escribir una expresión regular que funciona en RegEx Pal y también en Regex101.com ... ha tenido esta experiencia o ha cuantificado esta discrepancia?
mvk1000 206 preguntada jun 30, 2025
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
Accept the one whose faith is weak, without quarreling over disputable matters.
Romans 14:1
3,049 preguntas
6,007 respuestas
5,672 comentarios
2,029 usuarios