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

Уважаемый читатель. Я хотел бы найти \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 очков) | 954 просмотров

2 Ответов

0 голосов
Добавление ? после * используется для нежадного (non-greedy) поиска.
Переведено машиной с языка English
от [Expert]
(10,0тыс. очков)
Спасибо за совет, Фил. Я пока не добился результата .... поэтому я попробовал: 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
от [Expert]
(10,0тыс. очков)

Спасибо, Фил, это действительно на то, что я искал. Я также ошибался насчет : , которое не является мета-символом в регулярных выражениях. На самом деле, 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 ответов 3,4тыс. просмотров
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 ответов 781 просмотров
Я получил это письмо от переводчика. Я мог бы написать элементарное регулярное выражение, но, думаю, я упущу некоторые ... помочь мне, я буду очень благодарен.) Спасибо, james_post
[Moderator]
james_post
2,1тыс.
задал вопрос мар 30, 2023
0 голосов
2 ответов 1,3тыс. просмотров
L.S. Как объясняется на странице вики lingtrans, можно использовать поле location в \fig Paratext, чтобы указать, ... то идеи по регулярным выражениям здесь тоже. Заранее спасибо.
goodgoan 347 задал вопрос май 3, 2021
0 голосов
1 ответ 367 просмотров
Вспомогательные материалы Paratext говорят: В поле поиска на панели инструментов можно ввести текст, который нужно найти, ... фильтра в списке заметок? Спасибо за любую помощь.
john_nystrom 316 задал вопрос июн 15, 2021
+1 голос
5 ответов 2,0тыс. просмотров
Я хочу изменить строчные буквы на заглавные в определённых ситуациях - например, я хочу изменить все строчные буквы после ... списка, а затем добавлять к нему по мере продвижения.
[Expert]
Phil_Leckrone
10,0тыс.
задал вопрос мар 2, 2022
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,086 вопросов
6,054 ответов
5,711 комментариев
2,049 пользователей