hilfdirselbst.ch
Facebook Twitter gamper-media
Forenindex -- Lesezeichen

15 Lesezeichen für grep

|| GREP nur einmal ausführen
Hallo Jan

Da die Aufgabe von allgemeinem Interesse sein könnte (Literaturverzeichnisse), habe ich die Greps noch etwas verfeinert.

Für Namen wie:
Hans-Martin Müller
Hans-Martin Müller-Meier
Hans Martin Müller
Hans Martin Müller-Meier
Hans M. Müller
H. Martin Müller-Meier

gilt folgender Grep:
((\u\. )?[\w-]+( \u\.)?( \u\l+)?) ([\w-]+)

Damit ergeben sich für die 3 Greps (1. Namen nach in: – 2. Namen am Absatzanfang – 3. Namen nach bzw. zwischen Schrägstrichen) folgende Ausdrücke:

Namen nach «in:» («in» als Wort)
(?<=\bin: )((\u\. )?[\w-]+( \u\.)?( \u\l+)?) ([\w-]+)
$5, $1

Namen am Absatzanfang (gefolgt von (ed.), Schrägstrich oder Doppelpunkt)
^((\u\. )?[\w-]+( \u\.)?( \u\l+)?) ([\w-]+)(?= \(ed.\)|:|/)
$5, $1

Namen zwischen Schrägstrichen bzw. nach Schrägstrich und vor «:» oder «(ed./eds.):»
(?<=/)((\u\. )?[\w-]+( \u\.)?( \u\l+)?) ([\w-]+)(?= \(eds?.\)|:|/)
$5, $1

Für mehrere Ortsangaben mit Schrägstrichen (Wien/New York/London) habe ich auf die Schnelle keine Lösung. Allenfalls könnten in einem ersten Durchgang (per Skript oder manuell: Alles ändern) alle Fundstellen hervorgehoben werden (z. B. Farbe, fett usw.), und zwar ohne Umstellung; nachher visuelle Kontrolle und bei nicht gewünschten Stellen die Formatierung wieder aufheben. In einem zweiten Durchgang werden dann alle formatierten Stellen (Namen) vertauscht und die Formatierung rückgängig gemacht.

Gruss, Marco

Edit: Namenszusätze (Peter von Matt, Thomas de Maizière usw.) können natürlich bei Bedarf noch eingebaut werden, der Basis-Grep lautet dann ((\u\. )?[\w-]+( \u\.)?( \u\l+)?( von)?( de)?) ([\w-]+). Im Ändern-Feld muss dann einfach die Zahl der Klammerausdrücke berücksichtigt werden ($7, $1 usw.).
...
Marco Morgenthaler
10. Sep 2011, 16:05
Umwandlung einer Kategorienliste mit Tabstopps in Liste mit Aufzählungszeichen statt der Tabstopps
Hallo Lisa

Schön, dass es geklappt hat – auch ohne Grep.

Zum Thema Grep kann ich dir die Einführung von Gerald Singelmann, Moderator in diesem Forum und einer der besten Kenner von Indesign, empfehlen: http://indesign-faq.de/...09/10/grep-intro.pdf

Dann gibt es eine gute Einführung von Peter Kahrel, mit der ich Grep gelernt habe (auf Englisch): http://oreilly.com/catalog/9780596156015

Bald erscheint zudem ein neues Buch mit ausführlichem Teil zu Grep (http://www.indd-skript.de/). Wenn dich auch Skripts interessieren, ist das Buch von Gregor Fellenz sicher eine gute Wahl.

Und last, but not least werden hier im Forum auch immer wieder Grep-Lösungen besprochen und Fragen im Zusammenhang mit Grep beantwortet.

Da ein Grep-Stile Teil des Absatzformats ist, kannst du dieses (zusammen mit dem dazugehörigen Grep-Stil) auch in andere Dokumente importieren (Absatzformate laden …). Grep-Abfragen lassen sich speichern (im Fenster Suchen/Ersetzen). Und aus einem solchen gespeicherten Grep-Ausdruck lässt sich per Copy/Paste auch schnell ein Grep-Stil basteln.

Gruss, Marco
...
Marco Morgenthaler
24. Mär 2011, 10:05
Javascript RegEx GREP Tags
Ahh, genau das war mein Problem – danke Marco

Der hier funktioniert jetzt!
Code
<para[^>]*>((.|\s)+?)</para> 


Er findet wie gewollt nun nicht mehr den gesamten Ausdruck sondern nur zwei vorkommen!

Danke & Gruß
...
kampladden
22. Dez 2010, 13:32
1000er Trennzeichen bei Zahlen
Guten Tag

Neuer Tag neues Problem.

Da ich mit vielen Tabellen (importiert aus Excel) und grossen Zahlen arbeite wäre es von Vorteil wenn ich bei den Zahlen 1000er Trennzeichen bzw. einfach einen Leerraum einfügen könnte. Naja, eingeben kann man das ja schon von Hand, aber ich glaube die idee ist so zeitaufwändig, dass ich sie lieber wieder verdränge ;-)

Ich arbeite mit ID CS3 und wenn mir jemand nen Tipp geben könnte, wie ich das am einfachsten lösen kann, dann wäre ich sehr froh, weil sonst muss ich in Excel die 1000er Trennzeichen aktivieren und diese mit suchen und ersetzen durch nen leerraum ersetzen. (Naja, leben könnt ich damit auch, aber ich hoffe das geht etwas "eleganter")


Besten Dank

Neige
...
neige
14. Sep 2007, 11:33
Format mit Tag umschliessen...
Suche GREP nach beliebig vielen Ziffern/Komma/beliebig vielen Ziffern mit entsprechendem Absatzformat:
\d*,\d*
Absatzformat = Preis

und "ersetze"/ergänze das Gefundene mit den gewünschten Marken
[PREIS]$0[/PREIS].

Oder suche gleich nach beliebig vielen Zeichen des Absatzformats:
.*
Absatzformat = Preis
und ersetze wie oben.
...
baumhaus
3. Jun 2008, 11:44
GREP - Unterschiede mit ›S & E‹ und ›FindChangeByList‹
Hallo Ihr GREP Spezialisten,

vielleicht kann mir jemand helfen.
Ich bin am verzweifeln, weil ich den (Denk)fehler nicht finde.

In ›S & E‹ klappt es einwandfrei.
Mit ›FindChangeByList‹ nicht.

Datum
Mo 18. Jan 2008 / 9:00 Uhr
soll umgewandelt werden in
MoTab18. Jan 2008Achtelgeviert|Achtelgeviert9:00 Uhr
----------------------
›S & E‹
^(\w\w) (\d+\. \w{3,5} \d{4})\s/\s
$1\t$2~<~<|~<~<
-----------------------
›FindChangeByList‹
grep
{findWhat:"^(\\w\\w) (\\d+\\.\\s\\w{3,5}\\s\\d{4})\\s\\/\\s"}
{ChangeTo:"$1\\t$2~<~<|~<~<", appliedParagraphStyle:"Datum_1}
{}

Es wird der Tab und die Achtelgevierte nicht ersetzt.
Wenn ich kein AF eingebe, werden die gespeicherten Teilbegriffe ($1+$2) einfach gelöscht.
----------------------

Gruß
Quarz
...
Quarz
25. Mär 2008, 18:37
| GREP - erste Versuche - Bedeutung der Klammern?!
Hallo!

Ich habe mir hier: http://www.yabb-adobe-doo.com/...gn_cs3_grep_800.html
einen Film über Grep angesehen und dachte zunächst ich hätte es wenigstens ein bisschen verstanden.

Neugierig geworden habe ich dann die Hilfe in Indesign durchgelesen und das verwirrt mich jetzt doch...

1. Die Hilfe schreibt z.B. wenn ich einen Punkt suchen will ist das Zeichen dafür \. damit der Punkt auch als Punkt erkannt wird, aber warum erkennt dann \d kein d sondern ein beliebiges Zeichen? Wo ist die Logik dahinter?
Auch wird der Punkt erkannt wenn ich (\d)["."](\d) anstelle von (\d)\.(\d) schreibe?! > das "." ohne ""

2. Worin besteht der Unterschied zwischen den drei Klammern
a) [ ]
b) ( )
c) { }

Dies wird in der Hilfe leider nicht erklärt, ist aber wahrscheinlich entscheidend für die richtige Suche?!

3. Wie müsste die Abfrage lauten, wenn ich den Punkt gegen ein Komma tauschen will
und dem Komma ein Zeichenformat grün gebe?

Denn bei Suche (\d)["."](\d) ersetze durch $1,$2

wird auch das Zeichen vorher und nachher eingefärbt.
...
Kai Rübsamen
18. Mai 2007, 18:02
GREP - erste Versuche - Bedeutung der Klammern?!
> Eine gute Übersicht und Einführung findest Du auch ...

Inzwischen gibt es eine spezielle Einführung in GREP für InDesign CS3 als ShortCut von Peter Kahrel zum Download: GREP in InDesign CS3 (PDF)
...
Martin Fischer
17. Okt 2007, 01:56
GREP Erfahrung
Hallo

Folgende zwei GREP sollten die Zahlen umwandeln:

A) ,(\d{1,2})\>
ändern in: .$1

B) \.(\d{3})
ändern in: ,$1

Grep A sucht nach einem Komma, gefolgt von einer oder zwei Ziffern am Wortende, und ersetzt das Komma durch einen Punkt.

Grep B sucht nach einem Punkt, gefolgt von genau 3 Ziffern, und ersetzt den Punkt durch ein Komma.

GREP A und B können bei Bedarf als Abfrage gespeichert werden.

Gruss, Marco
...
Marco Morgenthaler
23. Jan 2008, 12:39
GREP: Lookbehind UND Lookahead
Hallo Marco,

Code
((?<=S\.)|(?<=Anm\.))( )(?=\d) 


(?<=S\.) -> lookahead nach 'S.'
| -> oder
(?<=Anm\.) -> lookahead nach 'Anm.'
( ) -> Leerzeichen (geht auch ohne die Klammern)
(?=\d) -> lookbehind Ziffer.

Eventuell kann man die Alternative des lookahead ((?<=S\.)|(?<=Anm\.)) noch verkürzen.
...
Martin Fischer
3. Sep 2007, 17:46
GREP: Lookbehind UND Lookahead
Marco,

das mit den Umlauten ist m.W. ein "anerkannter" Bug.
Ich habe noch nicht überprüft, welche Unicode-Bereiche davon betroffen sind.
...
Martin Fischer
3. Sep 2007, 18:58
Grep Suche
Rübi hat mich noch mal angeschrieben wegen dieses Themas, was gierige und faule Wildcards angeht und die Alternative, nach "alles, was nicht x ist" zu suchen.
Vielleicht erklärt beigelegtes PDF die Optionen?
...
Gerald Singelmann
19. Jul 2007, 14:28
Mal weider GREP
Ich brauche Hilfe mit GREP.

Ich möchte alle Stellen Finden, in denen ich [NAME]-Palette geschrieben habe, und durch Palette [NAME] ersetzen.
Der [Name] sind unterschiedlich lange Wörter (ohne eckige Klammer).

Am besten wäre es, wenn [NAME] dann auch noch im ZF Sowieso formatiert werden könnte.

Wie muss der GREP Ausdruck lauten?!?!?!

Edit: Der [Name] ist EIN Wort, dass unterschiedlich lang ist (ohne eckige Klammer).
...
Christoph Steffens
19. Jul 2007, 11:27
Mal weider GREP
Hallo Kai,

dafür brauchts etwas Umschau - was in der Gegend ist (lookaround).
In diesem Fall lookbehind: ?<=

Ersetzefeld:
Code
(?<=Palette )([^\s]+) 


Suchfeld: [leer] + [Formatoptionen]
-----
edit:
Jetzt überlasse ich das Antworten Gerald.
Der ist eh immer einen Kick schneller.
Kein Wunder, hab GREP schließlich von ihm gelernt. ;-)
...
Martin Fischer
19. Jul 2007, 12:37
Mal weider GREP
Das, was beim Suchen (wenn man einzeln durchgeht) markiert wird, wird auch umformatiert.
Da hilft nur, die Umgebungssuche von grep zu verwenden: im Popupmenü in InDesign findet man Positive/Negative Lookahead/Lookbehind.
Wenn ich also von "Palette Blah" nur das "Blah" formatieren will, muss ich einen Positive Lookbehind machen. Damit könnte ich aber nicht die Reihenfolge tauschen. Um die Reihenfolge tauschen zu können. muss "Palette" gefunden und nicht nur berücksichtigt werden.

Es sei denn, GREP hat noh mehr Tricks auf Lager als ich kenne, was regelmäßig der Fall ist.
...
Gerald Singelmann
19. Jul 2007, 12:37