Gepostet in adoc Studio.
Regex in AsciiDoc: Versteckte Zeichen und wie man sie findet
Marvin Blome – .
Dieser Guide zeigt wie Sie in adoc Studio mit regulären Ausdrücken arbeiten, um versteckte Zeichen schnell zu finden und sie zu ersetzen.
Sie schreiben in AsciiDoc. Typografie ist wichtig. Versteckte Zeichen sind ebenfalls wichtig. Manche helfen bei der Lesbarkeit. Andere brechen das Parsing, die Suche oder den Export.
Damit Sie diese Zeichen nicht alle einzeln anpassen müssen, helfen sogenannte "Reguläre Ausdrücke", auch Regex (nach dem Englischen regular expressions benannt). Sie filtern Ihren Text nach gewissen Kriterien und ersetzen die Suchergebnisse "en masse".
Wie man die Regex in diesem Artikel liest
- Wir verwenden literale Zeichen, wenn sicher (z.B.
—). - Wir zeigen Unicode-Escapes:
\uXXXXoder\x{XXXX}. Verwenden Sie das Format, das Ihre Regex-Engine akzeptiert. - Im Zweifel fügen Sie das literale Zeichen in das Suchen-Feld ein.
Leerzeichen und Verbindungen
Diese kontrollieren Umbrüche und Wortgrenzen. Sie schleichen sich oft durch Kopieren und Einfügen ein.
| Zeichen | Sieht aus wie | Code | Verwenden wenn | Vermeiden weil | Suchen (Regex) | Ersetzen durch |
|---|---|---|---|---|---|---|
| Geschütztes Leerzeichen | U+00A0 | Zahlen + Einheiten oder Namen zusammenhalten | Unsichtbar; bricht erwartete Umbrüche/Suche | \u00A0 | normales Leerzeichen " " |
|
| Schmales geschütztes Leerzeichen | U+202F | Französische Interpunktion; enger Zahl–Einheit-Abstand | Leicht zu übersehen; inkonsistent im Export | \u202F | " " oder reguläres NBSP |
|
| Dünnes Leerzeichen | U+2009 | Feine Typografie (z.B. 5 %) | Kann kollabieren oder verschwinden | \u2009 | " " |
|
| Null-Breite-Leerzeichen | | U+200B | Weicher Umbruch in langen URLs | Bricht Suche, Bezeichner, Markup | \u200B | "" (entfernen) |
| Null-Breite-Nicht-Verbinder | | U+200C | Benötigt in manchen Schriftsystemen | Gleiche Probleme in lateinischem Text | \u200C | "" |
| Null-Breite-Verbinder | | U+200D | Emoji-Ligaturen; komplexe Schriftsysteme | Gleiche Probleme | \u200D | "" |
| Weiches Trennzeichen | | U+00AD | Optionale Silbentrennung | Kann als verlorenes '-' erscheinen und Kopieren brechen | \u00AD | "" |
Batch-Bereinigung (sicherer Standard für die meisten Dokumente):
Suchen: [\u200B\u200C\u200D\u00AD] → Ersetzen: ""
Suchen: [\u00A0\u202F\u2009] → Ersetzen: " " (oder behalten, wenn Sie das geschützte Verhalten benötigen)
Bindestriche und Gedankenstriche
AsciiDoc behandelt -, -- und --- literal, außer Ihr Konverter führt typografische Ersetzungen durch. Seien Sie explizit.
| Zeichen | Sieht aus wie | Code | Verwenden wenn | Suchen | Ersetzen durch |
|---|---|---|---|---|---|
| Bindestrich-Minus | - | U+002D | Zusammengesetzte Wörter; Flags; Code | - (literal) | behalten |
| Geschützter Bindestrich | - | U+2011 | Umbruch in Zusammensetzungen verhindern | \u2011 | - (oder behalten) |
| Halbgeviertstrich | – | U+2013 | Bereiche; Beziehungen | \u2013 | -- (ASCII-Normalisierung) |
| Geviertstrich | — | U+2014 | Gedankenbrüche | \u2014 | --- (ASCII-Normalisierung) |
Anführungszeichen und Apostrophe
Geschweifte Anführungszeichen sehen in Prosa gut aus. Sie sind schlecht in Code, Attributen, IDs und Markup.
| Zeichen | Sieht aus wie | Code | Verwenden wenn | Suchen | Ersetzen durch |
|---|---|---|---|---|---|
| Gerades doppeltes Anführungszeichen | " | U+0022 | Code, Attribute, JSON, CSV | " | behalten |
| Gerades einfaches Anführungszeichen / Apostroph | ' | U+0027 | Kontraktionen, Possessive, Code | ' | behalten |
| Linkes doppeltes Anführungszeichen | " | U+201C | Anführungszeichen in Prosa | [\u201C] oder \u201C | " |
| Rechtes doppeltes Anführungszeichen | " | U+201D | Anführungszeichen in Prosa | [\u201D] oder \u201D | " |
| Linkes einfaches Anführungszeichen | ' | U+2018 | Verschachtelte Anführungszeichen | [\u2018] oder \u2018 | ' |
| Rechtes einfaches Anführungszeichen / geschweifter Apostroph | ' | U+2019 | Apostrophe in Prosa | [\u2019] oder \u2019 | ' |
| Backtick | ` | U+0060 | AsciiDoc Monospace | ` | behalten |
Bulk-Korrekturen:
Geschweifte Doppelte → gerade:
[\u201C\u201D]→"Geschweifte Einfache → gerade:
[\u2018\u2019]→'
Auslassungspunkte und Interpunktion
| Zeichen | Sieht aus wie | Code | Verwenden wenn | Suchen | Ersetzen durch |
|---|---|---|---|---|---|
| Auslassungspunkte | … | U+2026 | Pause in Prosa; UI-Abschneidung | \u2026 | ... |
| Mittelpunkt | · | U+00B7 | Inline-Listen; mathematische Vektoren | \u00B7 | • oder - |
| Aufzählungszeichen | • | U+2022 | Rich-Text-Aufzählungen | \u2022 | AsciiDoc-Liste "* " |
| Ziffern/Halb/Geviert-Leerzeichen | / / | U+2007 / U+2002 / U+2003 | Tabellarische Ausrichtung | [\u2007\u2002\u2003] | (Leerzeichen) oder in Tabellen behalten |
| Nicht-ASCII-Interpunktion | ¿ ¡ « » | U+00XX | Sprachspezifische Typografie | [¡¿«»] | ASCII-Äquivalente falls nötig |
Mathematik, Einheiten und Symbole
Bevorzugen Sie semantisches ASCII im Quelltext und lassen Sie den Konverter die Typografie handhaben—außer Sie veröffentlichen reinen Text.
| Zeichen | Sieht aus wie | Code | Verwenden wenn | Suchen | Ersetzen durch |
|---|---|---|---|---|---|
| Multiplikationszeichen | × | U+00D7 | Dimensionen: 10×20 | \u00D7 | x oder * |
| Minuszeichen | − | U+2212 | Echtes mathematisches Minus | \u2212 | - |
| Divisionszeichen | ÷ | U+00F7 | Einfache Mathematik | \u00F7 | / |
| Gradzeichen | ° | U+00B0 | Temperaturen, Winkel | \u00B0 | behalten (Abstand sicherstellen) |
| Markenzeichen | ™ ® © | U+2122 / U+00AE / U+00A9 | Rechtliche Kennzeichnungen | [™®©] | behalten oder nach Stil entfernen |
Praktische Rezepte
QA-Checkliste vor der Veröffentlichung
Null-Breite- und weiche Trennzeichen entfernen.
Entscheiden: Nur ASCII vs. typografische Ausgabe. Entsprechend normalisieren.
Geschützte Leerzeichen dort sicherstellen, wo nötig (Zahlen + Einheiten, Namen).
Prüfen, dass Anführungszeichen in Code und Attributen gerade sind.
Nach BOMs und verlorenen Ziffern/Geviert-Leerzeichen suchen.
A. Versteckte Störenfriede entfernen
Suchen: [\u200B\u200C\u200D\u00AD\uFEFF] → Ersetzen: ""
B. Geschützte und dünne Leerzeichen durch normale Leerzeichen ersetzen
Suchen: [\u00A0\u202F\u2009] → Ersetzen: " "
(Überspringen Sie dies, wenn Sie auf geschütztes Verhalten für das Layout angewiesen sind.)
C. Anführungszeichen zu ASCII normalisieren
Doppelte:
[\u201C\u201D]→"Einfache:
[\u2018\u2019]→'
D. Gedankenstriche normalisieren (falls Ihr Stil ASCII erfordert)
Halbgeviertstrich:
\u2013→--Geviertstrich:
\u2014→---