Thread View: pl.comp.dtp
7 messages
7 total messages
Started by askibicki
Fri, 24 Feb 2017 09:01
Pomoc przy zapytaniu GREP
Author: askibicki
Date: Fri, 24 Feb 2017 09:01
Date: Fri, 24 Feb 2017 09:01
5 lines
1705 bytes
1705 bytes
Mam problem z tekstem. Z prostym GREP-em sobie radzę ale tu mam bardziej złożony problem i nie wiem jak go ugryźć. W długim tekście o blokowej strukturze (bloki zaczynają się tekstem aaaa i kończą bbbb) Wewnątrz takiego bloku jest czasami jeden, czasami kilka akapitów. Muszę wyszukać i zmienić kolor blokom, które zawierają ciąg ccccc. Czyli generalnie muszę zaznaczyć ciąg od aaaa do bbbb zawierający ccccc. Jak zmienić mu kolor to wiem ale kompletnie nie mogę wpaść na pomysł jak taki blok całościowo wyszukać i zaznaczyć. Mogę prosić o podpowiedź.
Re: Pomoc przy zapytaniu GREP
Author: marekwlodarz
Date: Sat, 25 Feb 2017 21:22
Date: Sat, 25 Feb 2017 21:22
10 lines
2154 bytes
2154 bytes
W dniu piątek, 24 lutego 2017 10:01:29 UTC+1 użytkownik aski...@gmail.com napisał: > Mam problem z tekstem. Z prostym GREP-em sobie radzę ale tu mam bardziej złożony problem i nie wiem jak go ugryźć. > > W długim tekście o blokowej strukturze (bloki zaczynają się tekstem aaaa i kończą bbbb) Wewnątrz takiego bloku jest czasami jeden, czasami kilka akapitów. Muszę wyszukać i zmienić kolor blokom, które zawierają ciąg ccccc. > Czyli generalnie muszę zaznaczyć ciąg od aaaa do bbbb zawierający ccccc. Jak zmienić mu kolor to wiem ale kompletnie nie mogę wpaść na pomysł jak taki blok całościowo wyszukać i zaznaczyć. > Mogę prosić o podpowiedź. Jeśli kilka akapitów, to modyfikator (?-s) na początku, żeby nie kończył wyszukiwania na końcu akapitu. No i grupy wyszukiwania, czyli coś takiego mniej więcej: (?-s)(?<=aaaa)(.+ccccc.+)(?=bbbb) Pewnie trzeba będzie poeksperymentować, żeby dopieścić.
Re: Pomoc przy zapytaniu GREP
Author: askibicki
Date: Sun, 26 Feb 2017 09:45
Date: Sun, 26 Feb 2017 09:45
34 lines
1623 bytes
1623 bytes
> (?-s)(?<=aaaa)(.+ccccc.+)(?=bbbb) Niestety to wyrażenie nic nie znajduje. Może nie do końca jasno opisałem problem. Tekst wygląda tak: aaaa dddd dddd bbbb aaaa ddddd ddddd ccccc dddd dddd bbbb aaaa ddddd ddddd fffff bbbb aaaa dddddd ddddd ccccc dddd ddddd bbbb daasdffasd aaaa dddddd ddddd ccccc dddd ddddd bbbb
Re: Pomoc przy zapytaniu GREP
Author: askibicki
Date: Sun, 26 Feb 2017 09:53
Date: Sun, 26 Feb 2017 09:53
34 lines
1964 bytes
1964 bytes
> (?-s)(?<=aaaa)(.+ccccc.+)(?=bbbb)
Niestety ta konstrukcja nic nie znajduje. Wczytuję się w Twoją książkę (jak sądzę jesteś autorem "Grep w InDesign") i nie mogę znaleźć dobrego sposobu.
Może nie do końca dobrze przedstawiłem problem. Tekst wygląda tak:
aaaa
dddd
dddd
bbbb
aaaa
ddddd
ddddd
ccccc
dddd
dddd
bbbb
aaaa
ddddd
ddddd
fffff
bbbb
aaaa
dddddd
ddddd
ccccc
bbbb
daasdffasd
aaaa
dddddd
ddddd
bbbb
(wszystkie wiersze są nowymi akapitami)
Zapytanie powinno wyszukać bloki takie, które zaczynają się ciągiem aaaa, kończą cięgiem bbbb i zawierają ciąg ccccc. Zaznaczyłem je wcięciem.
Re: Pomoc przy zapytaniu GREP
Author: Piotr Chamera
Date: Wed, 01 Mar 2017 09:48
Date: Wed, 01 Mar 2017 09:48
47 lines
2560 bytes
2560 bytes
nie mam InDesigna z grepem ale spróbowałem twojego tekstu w Emacsie i takie wyrażenie wydaje się działać: \(aaaa[^\<aaaa\>]+?ccccc[^\<bbbb\>]+?bbbb\) czyli szukamy ciągu, który zaczyna się od „aaaa”, potem zawiera dowolne znaki ale nie słowo „aaaa” (niezachłannie), potem mamy ciąg „ccccc”, potem dowolne znaki ale nie słowo „bbbb” (niezachłannie) i na końcu słowo „bbbb”. Może w ID da się coś analogicznego stworzyć... W dniu 2017-02-26 o 10:53, askibicki@gmail.com pisze: >> (?-s)(?<=aaaa)(.+ccccc.+)(?=bbbb) > > Niestety ta konstrukcja nic nie znajduje. Wczytuję się w Twoją książkę (jak sądzę jesteś autorem "Grep w InDesign") i nie mogę znaleźć dobrego sposobu. > Może nie do końca dobrze przedstawiłem problem. Tekst wygląda tak: > aaaa > dddd > dddd > bbbb > aaaa > ddddd > ddddd > ccccc > dddd > dddd > bbbb > aaaa > ddddd > ddddd > fffff > bbbb > aaaa > dddddd > ddddd > ccccc > bbbb > daasdffasd > aaaa > dddddd > ddddd > bbbb > > (wszystkie wiersze są nowymi akapitami) > > Zapytanie powinno wyszukać bloki takie, które zaczynają się ciągiem aaaa, kończą cięgiem bbbb i zawierają ciąg ccccc. Zaznaczyłem je wcięciem. >
Re: Pomoc przy zapytaniu GREP
Author: askibicki
Date: Sat, 04 Mar 2017 19:39
Date: Sat, 04 Mar 2017 19:39
5 lines
1491 bytes
1491 bytes
> \(aaaa[^\<aaaa\>]+?ccccc[^\<bbbb\>]+?bbbb\) spróbuję to przełożyć na InDesignowego GREPa Dziękuję bardzo
Re: Pomoc przy zapytaniu GREP
Author: Piotr Chamera
Date: Mon, 06 Mar 2017 11:40
Date: Mon, 06 Mar 2017 11:40
35 lines
2023 bytes
2023 bytes
W dniu 2017-03-04 o 20:39, askibicki@gmail.com pisze: >> \(aaaa[^\<aaaa\>]+?ccccc[^\<bbbb\>]+?bbbb\) > > spróbuję to przełożyć na InDesignowego GREPa To wyżej to moja pomyłka, na twoim przykładzie zadziałało tylko przez przypadek :) jest równoważne takiemu prostszemu wyrażeniu \(aaaa[^a]+?ccccc[^b]+?bbbb\) takie coś dopasuje prawidłowo (tzn bez pierwszego aaaa) aaaa vvv aaaa xxx ccccc yyy bbbb ale jeśli między aaaa i bbbb mogą wystąpić litery a i b (jak w poniższym przykładzie), to już nie zadziała aaaa xxx aaaa cads ccccc cbsd bbbb Nie wiem jak zanegować występowanie całego słowa w regexpie... jakieś pomysły?
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads