0 голосов
595 просмотров

Уважаемый читатель. Я хотел бы найти \fq, за которым следует любая строка, включая ɛ ɔ ɲ ŋ, до первого \\ft, за которым следует пробел, а затем символ, не являющийся двоеточием.

Пример фразы:

\fq cintɔnŋ Natan i ta ŋuŋ kɔnkɔli bo Solomani ŋununu \ft Walima ŋuŋ kɔri Solomani ŋununu

Это регулярное выражение \\fq.*\\ft\s[^\:] слишком «жадное» .... Есть ли советы, как ограничить поиск первым отсутствием?

Заранее спасибо,

Барт

Переведено машиной с языка English
Paratext от (347 очков) | 595 просмотров

2 Ответов

0 голосов
Добавление ? после * используется для нежадного (non-greedy) поиска.
Переведено машиной с языка English
от (9,9тыс. очков)
Спасибо за совет, Фил. Я пока не добился результата .... поэтому я попробовал: regex:\\fq.*?\\ft\s[^\:], что приводит к (см. ниже)

Поиск по regex:\\fq.*?\\ft\s\: дает хороший список результатов с \ft, за которым следует пробел и двоеточие. Действительно, после \ft всегда должен следовать пробел \s, за которым идет двоеточие. Так какое регулярное выражение нужно, чтобы найти отсутствие этого одного двоеточия? Моя лучшая догадка: regex:\\fq.*?\\ft\s[^\:], но оно не дает желаемого результата ...

Есть идеи?

Заранее спасибо.
Переведено машиной с языка English
0 голосов
При написании регулярного выражения важно не искать слишком много. Когда вы ищете точку, оно продолжает искать все, что не является новой строкой (или, если вы находитесь в режиме regex: search, оно будет искать все), пока не дойдет до следующего элемента. Поэтому ключевое — попытаться найти то, что останавливает поиск. Часто я использую [^\\]* для поиска всего, что не является обратным слэшем. Это сработало бы для вас, если бы у вас не было дополнительных обратных слэшей в вашем \fq до того, как вы дойдете до \ft. Обратите внимание, что я стараюсь строить свои выражения в RegExPal, чтобы видеть, что находится, по мере добавления в выражение.

Попробуйте это выражение:

\\fq [^\\]*?\\ft\s[^:]
Переведено машиной с языка English
от (9,9тыс. очков)

Спасибо, Фил, это действительно на то, что я искал. Я также ошибался насчет : , которое не является мета-символом в регулярных выражениях. На самом деле, regex \\fq [^\\]*?\\ft\s[^:] и regex \\fq [^\\]*?\\ft\s[^\:] дают тот же (хороший) результат, который я пытаюсь понять. Итак, просто ради лучшего понимания этого regex в PT:

означает ли \s[^:] первое не-двоеточие после пробела?

тогда:

означает ли \s[^\:] первый не-обратный слэш, за которым следует двоеточие? Или это означает первый не-обратный слэш, за которым следует не-двоеточие?

Большое спасибо,

Барт.

Переведено машиной с языка English
Когда вы помещаете символы внутри [] regex воспринимает их как альтернативы (кроме ^, который означает NOT). Так [^\:] говорит «не \» или «не :». Если у вас есть что-то вроде t[aeiou]t, оно найдет t, за которым следует любой из этих букв, а затем еще одна t.
Переведено машиной с языка English
Большое спасибо.
Переведено машиной с языка Français

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

0 голосов
8 ответов 1,5тыс. просмотров
We have a user who has inserted a lot of \pn and some \nd inside of footnotes. We now know we need those to be ... the search to inside of a single footnote? Thank you, MSEAIT/LT
MSEAIT_LT 478 задал вопрос авг 20, 2018
0 голосов
2 ответов 539 просмотров
Я получил это письмо от переводчика. Я мог бы написать элементарное регулярное выражение, но, думаю, я упущу некоторые ... помочь мне, я буду очень благодарен.) Спасибо, james_post
[Moderator]
james_post
2,1тыс.
задал вопрос мар 30, 2023
0 голосов
2 ответов 758 просмотров
L.S. Как объясняется на странице вики lingtrans, можно использовать поле location в \fig Paratext, чтобы указать, ... то идеи по регулярным выражениям здесь тоже. Заранее спасибо.
goodgoan 347 задал вопрос май 3, 2021
0 голосов
1 ответ 225 просмотров
Вспомогательные материалы Paratext говорят: В поле поиска на панели инструментов можно ввести текст, который нужно найти, ... фильтра в списке заметок? Спасибо за любую помощь.
john_nystrom 312 задал вопрос июн 15, 2021
+1 голос
5 ответов 932 просмотров
Я хочу изменить строчные буквы на заглавные в определённых ситуациях - например, я хочу изменить все строчные буквы после ... списка, а затем добавлять к нему по мере продвижения.
Phil_Leckrone 9,9тыс. задал вопрос мар 2, 2022
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
And let us consider how we may spur one another on toward love and good deeds, not giving up meeting together, as some are in the habit of doing, but encouraging one another—and all the more as you see the Day approaching.
Hebrews 10:24-25
3,048 вопросов
6,007 ответов
5,672 комментариев
2,028 пользователей