[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Römische Zahlen finden (GREP, INDD19.2, WIN10)

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Römische Zahlen finden (GREP, INDD19.2, WIN10)

cwenet
Beiträge gesamt: 1148

8. Mär 2024, 15:45
Beitrag # 1 von 7
Bewertung:
(15858 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Tag,
ich versuche gerade per GREP eine Zeichenkette mit römischen Ziffern aufzuspüren.
Code
ABC 115 IV 237 


Code
(ABC)\s(\d{1,4})\s([MDCLXVI])\s(\d{1,4}) 


Das will nicht gelingen. Gibt es da was feines?

Bitte um Hilfe
Grüße
Christoph
X

Römische Zahlen finden (GREP, INDD19.2, WIN10)

Uwe Laubender
Beiträge gesamt: 5347

8. Mär 2024, 17:09
Beitrag # 2 von 7
Beitrag ID: #587864
Bewertung:
(15799 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Christoph,

wie wäre es mit diesem GREP-Suchausdruck, der IM GUI funktionieren sollte:

Code
(ABC)\s(\d{1,4})\s([MDCLXVI]+)\s(\d{1,4}) 



als Antwort auf: [#587863]

Römische Zahlen finden (GREP, INDD19.2, WIN10)

cwenet
Beiträge gesamt: 1148

8. Mär 2024, 17:32
Beitrag # 3 von 7
Beitrag ID: #587865
Bewertung:
(15781 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Merci viel Mal, Uwe.
So klappt es.
Schönen Abend


als Antwort auf: [#587864]

Römische Zahlen finden (GREP, INDD19.2, WIN10)

Rudix
Beiträge gesamt: 63

31. Jan 2025, 12:27
Beitrag # 4 von 7
Beitrag ID: #589363
Bewertung:
(8691 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Das ist wirklich eine interessante Anforderung. Natürlich erbringt der letztgenannte GREP-Ausdruck alle römischen Zahlen, aber du erhältst notwendigerweise massenhaft Fehler 2. Art, sprich: Buchstabenkombinationen, die aus den römischen Zahlziffern zusammengesetzt sind, aber eben keine römischen Zahlen repräsentieren.

Warum weise ich explizit darauf hin? Weil es sich mithin verbietet, diesen GREP-Ausdruck als GREP-Stil in ein Absatzformat einzubauen, und weil es sich ebenso (wie auch sonst eigentlich immer) verbietet, bei einer Suchen/Ersetzen-Abfrage auf "Alle ändern" zu klicken.


als Antwort auf: [#587865]

Römische Zahlen finden (GREP, INDD19.2, WIN10)

Gerald Singelmann
  
Beiträge gesamt: 6290

31. Jan 2025, 21:59
Beitrag # 5 von 7
Beitrag ID: #589366
Bewertung:
(8610 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich hab mal ChatGPT gefragt (und die Antwort nicht überprüft):


Zitat A widely used regular expression for matching Roman numerals (up to 3999) is:

Code
M{0,3}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3}) 


### Explanation

- M{0,3}
Matches the thousands place. Up to three `M` characters, corresponding to 0–3000.

- (CM|CD|D?C{0,3})
Matches the hundreds place:
- `CM` for 900,
- `CD` for 400,
- `D?C{0,3}` for 500–800 (if `D` is present, followed by up to three `C`s) or 0–300 (if no `D` is present).

- (XC|XL|L?X{0,3})
Matches the tens place:
- `XC` for 90,
- `XL` for 40,
- `L?X{0,3}` for 50–80 (if `L` is present, followed by up to three `X`s) or 0–30 (if no `L` is present).

- (IX|IV|V?I{0,3})
Matches the units place:
- `IX` for 9,
- `IV` for 4,
- `V?I{0,3}` for 5–8 (if `V` is present, followed by up to three `I`s) or 0–3 (if no `V` is present).

This regular expression ensures that the numeral adheres to the conventional Roman numeral rules and ranges from 1 to 3999.



als Antwort auf: [#587864]

Römische Zahlen finden (GREP, INDD19.2, WIN10)

Gerald Singelmann
  
Beiträge gesamt: 6290

31. Jan 2025, 22:34
Beitrag # 6 von 7
Beitrag ID: #589368
Bewertung:
(8596 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Doch noch ein kurzer Test.
Code
IX|IV|V?I{0,3} 

funktioniert nicht, anscheinend wegen des {0,3}

Aber
Code
IX|IV|V?I{1,3}|V 

funktioniert.

Kurioserweise hat es anscheinend keine Auswirkung, wenn ich ein \b davor und danach setze. "Wortgrenze" scheint ihm egal zu sein (CC2024, Mac)


als Antwort auf: [#589366]

Römische Zahlen finden (GREP, INDD19.2, WIN10)

Jabadabadu
Beiträge gesamt: 250

31. Jan 2025, 22:40
Beitrag # 7 von 7
Beitrag ID: #589369
Bewertung:
(8590 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin.
Der GREP-Ausdruck von Gerald Singelmann gefällt mir. Ich habe auch als (griechischer und lateinischer) Epigraphiker nur einen Ergänzungsvorschlag. 4000 sind nach römischer Zählung auch MMMM, also 4×M. Danach wird es etwas schwieriger, weil die 5000 nur von speziellen Fonts und Unicode-Zeichen dargestellt werden kann, die möglicherweise im GREP nicht dargestellt werden können. Zum Beispiel gibt es für 5000 die Lösung: ↁ (D im Bogen des D); oder IↃↃ (2× umgedrehtes C), für 10000 dann ↂ oder CCIↃↃ (also 2×5000) usw. Hier wird es also schwierig, aber bis 4999 ist es darstellbar. Es gibt allerdings auch Lösungen, dass man danach nur die M (für Mille = Tausend) aneinanderreiht. Aber andere Frage: Wie häufig kommen solch hohen Zahlen in der betreffenden Suche vor? Und am sinnvollsten jede Suche eigens prüfen
Nachtrag: Die Foren-Software setzt die Unicode-Zeichen gleich in Unicode um. 5000 ist ein verkleinertes D im Bogen des größeren D oder ein I mit zwei gespiegelten C. 10000 ist eben dieselbe Kombination jeweils mit dem gespiegelten Gegenstück.


als Antwort auf: [#589366]
X