0 голосов
246 просмотров
25 лет назад я изучил таблицы CC и довольно хорошо в них разобрался. Теперь я пытаюсь идти в ногу со временем и учусь использовать регулярные выражения, поскольку у меня сложилось впечатление, что changes.txt в PTXPrint использует их. Однако регулярные выражения, которые я (наконец-то) заставляю делать то, что мне нужно, на одном из обучающих сайтов, не работают, когда я вставляю их в changes.txt. Простое изменение один к одному — не проблема, но когда я пытаюсь использовать (например) скобки с одной стороны от > и обратную ссылку \1 с другой стороны, это не работает. У меня есть ощущение, что я упускаю детали о конкретном синтаксисе реализации в PTXPrint. Есть ли какая-либо документация о синтаксисе changes.txt? Или о том, какой подмножество RegEx он поддерживает?

P.S. - Мне удалось заставить мое выражение работать в Reg Ex Pal в PTX, тоже.
Переведено машиной с языка English
PTXprint от (206 очков)
изменено от | 246 просмотров

2 Ответов

0 голосов
Я решил свою собственную проблему. Похоже, что обе стороны изменения должны быть заключены в двойные кавычки вокруг всего регулярного выражения, а не только вокруг литералов. Я все еще задаюсь вопросом, есть ли где-то больше документации по этому поводу. Например, я знаю про "at GAL 1:5 ....", но кажется, что где-то я видел что-то (возможно, в одном из видео), где использовался другой предлог, чем "at". Было бы здорово узнать, какие это могут быть предлоги, но я отчаялся когда-нибудь снова найти это в видео или слайдах PowerPoint. Также хотелось бы узнать, каков синтаксис для обращения к отдельным абзацам во вступительных материалах. Я могу сделать это в Adjust lists (например, GAL 0.1  -1[13]), но этот синтаксис, похоже, не работает в changes.txt. Снова не хочу беспокоить вас из-за каждой мелочи, поэтому было бы здорово узнать, где все это записано.
Переведено машиной с языка English
от (206 очков)
изменено от
0 голосов

Да, действительно, мы поддерживаем Regex (и конкретно вариант на Python). Вы правы, что обратные слэши, такие как \p, должны быть экранированы с помощью \, чтобы они отображались как \\p.

Вот несколько примеров того, что вы можете делать:

# Сделать пробел перед последним словом в заголовке раздела неразрывным пробелом.
"(\\s( \S+)+) (\S+\s*\r?\n)"  > "\1\u00A0\3"

# Если вы хотите, чтобы трехбуквенный код книги появлялся только в альтернативном заголовке \h1 (для помощи в наборе)
"(\\id (...).+\n)" > "\1\\h1 \2\r\n"

# Изменить любой обычный \p в начале глав, которые действительно выглядят так, как будто они должны быть неразрывным абзацем \nb
# at 2CO  2:0; 2CO  7:0; COL  2:0; COL  4:0; HEB 10:0  "\\p" > "\\nb"

# Уменьшить абзац, начинающийся с EXO 29:2, на 2%
at EXO 29:1 "\\p" > "\\p^98"

# Удалить \b после \d в книге Псалмов (PSA)
at PSA "(\\d .+?[\r\n])\\b[\s\r\n]" > "\1"

# Удалить \b после заголовка раздела \s
"(\\s .+?[\r\n])\\b[\s\r\n]" > "\1"

# Только для определенных книг, вставить перенос страницы ПЕРЕД заголовком Вступительного плана
at MAT; ROM; 1CO; PHP; COL "(\\iot )" > "\\pb\r\n\1" 

# Только для *некоторых* книг, лучше, если глава 1 начинается на отдельной странице
at MRK; JHN; 1TI; JAS "(\\c 1 ?\r?\n)" > "\\pb\n\1"

# Обернуть строки \io, которые слишком длинные:
at MRK in "\\io\d [^\\]+\\ior": "ఆని పణిఙని" > "ఆని\u2028పణిఙని"
at LUK in "\\io\d [^\\]+\\ior": "బోదిసి, జబ్బుది" > "బోదిసి,\u2028జబ్బుది"

# Вставить тире, окруженное несколькими пробелами, перед диапазоном глав:стиков \io1 и \io2
# Обратите внимание, что здесь используется нотация IN, которая ограничивает изменение только тем, что происходит ВНУТРИ указанного контекста.
# Это очень полезный трюк, чтобы сделать сложные правила намного проще, сначала указав, где они могут применяться.
in "\\io\d .+[\r\n]": "\s([0-9]+:[0-9:\-]+)" > "~~\u2014~~\1"

# Использовать капитель (Small-caps) вместо ЗАГЛАВНЫХ БУКВ
"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*"

# Уменьшить эти абзацы* на 3% 
# (*на самом деле уменьшается \p, который появляется перед СЛЕДУЮЩИМ стихом)
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'

Большинство из вышеперечисленного задокументировано в слайдах внутри этой огромной стопки слайдов.

Переведено машиной с языка English
от (3,2тыс. очков)
Спасибо, что указали на "стопку слайдов". Я потратю некоторое время на их изучение, чтобы увидеть, что еще я могу из них узнать. Эти примеры тоже полезны для расширения моих горизонтов в RegEx. Все еще ностальгирую по таблицам CC, но я справлюсь с этим.
Переведено машиной с языка English
Ссылка на вступительные абзацы

Похожие вопросы

0 голосов
3 ответов 1,1тыс. просмотров
[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,4тыс. задал вопрос июн 5, 2019
0 голосов
10 ответов 2,2тыс. просмотров
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,4тыс. задал вопрос сен 10, 2015
0 голосов
1 ответ 227 просмотров
Вспомогательные материалы Paratext говорят: В поле поиска на панели инструментов можно ввести текст, который нужно найти, ... фильтра в списке заметок? Спасибо за любую помощь.
john_nystrom 312 задал вопрос июн 15, 2021
0 голосов
2 ответов 228 просмотров
(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.
аноним задал вопрос апр 10, 2015
0 голосов
2 ответов 154 просмотров
Несколько раз я сталкивался с тем, что регулярное выражение, которое работает в RegEx Pal и на Regex101.com ( ... ещё сталкивался с этим или смог описать эту несовместимость?
mvk1000 206 задал вопрос июн 30, 2025
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
And I tell you that you are Peter, and on this rock I will build my church, and the gates of Hades will not overcome it.
Matthew 16:18
3,049 вопросов
6,007 ответов
5,672 комментариев
2,029 пользователей