Zu Inhalt springen

Mal wieder GREP ...

Hervorgehobene Antworten

Gerade bin ich über eine GREP-Eigenart gestolpert, die mir etwas Kopfzerbrechen bereitet. In genetischen Texten werden Genbezeichnungen immer kursiv gesetzt. Das läßt sich natürlich ganz wunderbar über GREP auf verschiedene Art und Weise automatisieren. Nun bin ich gerade über ein Beispiel gestolpert, bei welchem überhaupt nur drei Genbezeichnungen im Text vorkommen. Ich war daher zu faul um eine allgemeingültige Syntax zu schreiben sondern habe einfach die Gene als solche eingetragen. Ich mache dies normalerweise über ».rnhA.«, weil ich in meinen Texten z.B. Klammern, welche Gene einschließen, oder auch folgende Satzzeichen ebenfalls kursivieren möchte. Das bereitet mir allerdings folgendes Problem: definiere ich mir ».geneA.|.geneB.« dann wird das einzelne Auftreten der Bezeichnungen perfekt erkannt, nicht aber die Kombination. »... deletion of geneA leads to upregulation of geneB ...« wird also fehlerlos formatiert, »... in geneA geneB double mutants is lethal ...« hingegen nicht; nur »geneA« wird kursiviert.

Ich kann schon irgendwie nachvollziehen, daß eben das Leerzeichen nach »geneA« noch mit zum vorigen GREP-Ausdruck gezählt wird und damit ».geneB.« als solches nicht erkannt wird. So habe ich es mir jedenfalls zusammengereimt. Mir ist aber nicht klar, wie ich dieses Problem elegant umschiffen kann. Manuell macht es jedenfalls keinen Spaß, weil solche Kombinationen häufiger vorkommen. Ich kann das auch über eine abstraktere Syntax erledigen, wie in meinem (im Moment inaktivierten) Blog-Eintrag ausgeführt. Trotzdem muß sich das doch irgendwie auch anders erledigen lassen? Hat jemand von Euch eine Idee? :?

Grüße,

Christian

Zumindest in der Grep-Suche von TextWrangler funktioniert Folgendes:

.(geneA.|geneB.)+

Die Zeichen, die mit kursiviert werden dürfen/müssen, sollte man besser spezifizieren, etwa so:

[("]?gene[A|B][)",.-]?

Also: Vor dem Ausdruck öffnende Klammer oder Anführungszeichen, danach schließende Klammer, Anführung, Komma, Punkt, Divis … – jeweils null oder ein Mal.

Schönen Gruß aus München.

W.E.

  • Ersteller

@Mach: nette Lösung! Das einzige Problem ist, daß es eben leider auch in anderen Kombinationen, also z.B. mit geneA und geneC funktionieren muß. Aus diesem Grund ist die Spezifizierung der Zeichen, die kursiviert werden sollen bzw. müssen mit dem folgenden Wiederholungszeichen in diesem speziellen Kontext geeigneter.

Vielen Dank für Eure Antworten,

Christian

Wenn du [A|B] durch \u austauschst müssten alle Großbuchstaben berücksichtigt werden.

Erstelle ein Konto, um zu kommentieren

Wichtige Informationen

Wir setzen Cookies, um die Benutzung der Seite zu verbessern. Du kannst die zugehörigen Einstellungen jederzeit anpassen. Ansonsten akzeptiere bitte diese Nutzung.

Konto

Navigation

Browser-Push-Nachrichten konfigurieren

Chrome (Android)
  1. Klicke das Schloss-Symbol neben der Adressleiste.
  2. Klicke Berechtigungen → Benachrichtigungen.
  3. Passe die Einstellungen nach deinen Wünschen an.
Chrome (Desktop)
  1. Klicke das Schloss-Symbol in der Adresszeile.
  2. Klicke Seiteneinstellungen.
  3. Finde Benachrichtigungen und passe sie nach deinen Wünschen an.