Willkommen im cgboard - classic games Forum! Du hast den Adventskalender 2024 verpasst? Kein Problem, hier entlang!

REGEX Problem
#1
0
Kennt sich jemand mit REGEX aus?
Ich erstelle ja meine eigenen gamelixt.xml - Dateien (Skraper). Benenne auch meine Roms individuell um. Nun habe ich das Problem, daß z.B. der Frontend Daijisho beim Importieren die Namen kürzt.
Z.B. wird das Rom:

Addams Family (The).smc
in
Addams Family

Kann man verhindern, daß er die Klammern wegschneidet?
PS: Du bist übrigens mein Lieblingsuser in diesem Board!
[Bild: fyz2bla2s5sxc.gif]
Dieser Beitrag wurde nie editiert. Wozu auch... er ist wie immer perfekt und brillant.
Zitieren
#2
0
Auf welcher Basis schneidet er denn die Klammern weg? Was ist das aktuelle Regex?

Mit Regex habe ich schon einiges hinbekommen, aber ich kenne den Frontend Daijisho nicht.
Zitieren
#3
0
Ich schätze mal, dass liegt an acceptedFilenameRegex im Source. Da müsste man bei jeder Plattform eine Ausnahme hinzufügen \( bzw. \) oder so.

z.B. für https://github.com/TapiocaFox/Daijishou/...m.json#L42
[Bild: bug.gif]
Dt. Text-Patch für die engl. Uncut-Version von ›IHNMIMS‹
https://ihnm.blogspot.com/Thread
Zitieren
#4
0
Ja, die Zeil kann man auch direkt im Daijisho eingeben. Weiß bloß nicht, was ich in der Zeile eintragen muss, damit () angezeigt wird. Meine Versuche bisher waren eher erfolglos.... Sad
PS: Du bist übrigens mein Lieblingsuser in diesem Board!
[Bild: fyz2bla2s5sxc.gif]
Dieser Beitrag wurde nie editiert. Wozu auch... er ist wie immer perfekt und brillant.
Zitieren
#5
0
Welchen Regex wendet das Tool denn an?
Wie Mustrum schon schrieb muss ( und ) escaped werden.
Zitieren
#6
0
Mich wundert,  warum zwei Escape-Zeichen (Slash/Schrägstrich) verwendet werden.  Das zweite ist für den Punkt vor der Dateiendung, aber das erste?
Code:
acceptedFilenameRegex": "^(.*)\\.(?:bs|fig|sfc|smc|st|swc|zip|7z)$"

Suche:
Dateiname[Punkt]Dateiendung
^(.*)\.(?:bs|fig|sfc|smc|st|swc|zip|7z)$

Je nach Regex-Version Ersetze:
\1.\2 (LibreOffice: $1.$2)

Da ein Punkt in REGEX ein Wildcard für ein beliebiges Zeichen darstellt, muss dieser escaped werden = \.
[Bild: bug.gif]
Dt. Text-Patch für die engl. Uncut-Version von ›IHNMIMS‹
https://ihnm.blogspot.com/Thread
Zitieren
#7
0
Der erste Schrägstrich ist für die JSON-Kodierung. Das Escape-Zeichen von JSON ist ebenfalls der Backslash. Um in JSON einen Backslash fürs Regex zu erzeugen, muss man zwei Backslashs schreiben.

Der von dir genannte Regex, Mustrum, nimmt aber den kompletten Dateinamen ohne Endung in die Klammern vorne mit auf ((.*)). Der kann nicht dafür verantwortlich sein, dass hinterher Teile vor der Endung weggeschnitten werden.
Zitieren
#8
0
Das Ding ist, er soll ja gar nichts wegschneiden. Er soll den Dateinamen bis (ohne Erweiterung) übernehmen. Kann doch nicht unmöglich sein...
PS: Du bist übrigens mein Lieblingsuser in diesem Board!
[Bild: fyz2bla2s5sxc.gif]
Dieser Beitrag wurde nie editiert. Wozu auch... er ist wie immer perfekt und brillant.
Zitieren
#9
0
Kannst du die XML Datei mal anhängen, und einen Code-Ausschnitt wie du die generierst? Vielleicht liegt das Problem ja da und nicht beim Frontend?
Der reguläre Ausdruck sollte eigentlich die Klammern mit umfassen.
Zitieren
#10
0
Code:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<gameList>
  <provider>
    <System>Megadrive 32X</System>
    <software>Skraper</software>
    <database>ScreenScraper.fr</database>
    <web>http://www.screenscraper.fr</web>
  </provider>
  <game id="12688" source="ScreenScraper.fr">
    <path>./36 Great Holes Starring Fred Couples (Golf Magazine Presents).zip</path>
    <name>36 Great Holes Starring Fred Couples (Golf Magazine Presents)</name>
    <image>./images/36 Great Holes Starring Fred Couples (Golf Magazine Presents).png</image>
  </game>
  <game id="12677" source="ScreenScraper.fr">
    <path>./After Burner Complete.zip</path>
    <name>After Burner Complete</name>
    <image>./images/After Burner Complete.png</image>
  </game>
  <game id="12673" source="ScreenScraper.fr">
    <path>./Amazing Spider-Man (Web of Fire, The).zip</path>
    <name>Amazing Spider-Man (Web of Fire, The)</name>
    <image>./images/Amazing Spider-Man (Web of Fire, The).png</image>
  </game>
  <game id="12690" source="ScreenScraper.fr">
    <path>./BC Racers.zip</path>
    <name>BC Racers</name>
    <image>./images/BC Racers.png</image>
  </game>
  <game id="12675" source="ScreenScraper.fr">
    <path>./Blackthorne.zip</path>
    <name>Blackthorne</name>
    <image>./images/Blackthorne.png</image>
  </game>
  <game id="12684" source="ScreenScraper.fr">
    <path>./Brutal Unleashed (Above The Claw).zip</path>
    <name>Brutal Unleashed (Above The Claw)</name>
    <image>./images/Brutal Unleashed (Above The Claw).png</image>
  </game>
  <game id="200289" source="ScreenScraper.fr">
    <path>./ClayFighter 2.zip</path>
    <name>ClayFighter 2</name>
    <image>./images/ClayFighter 2.png</image>
  </game>
  <game id="12674" source="ScreenScraper.fr">
    <path>./Cosmic Carnage.zip</path>
    <name>Cosmic Carnage</name>
    <image>./images/Cosmic Carnage.png</image>
  </game>
  <game id="12693" source="ScreenScraper.fr">
    <path>./Darxide.zip</path>
    <name>Darxide</name>
    <image>./images/Darxide.png</image>
  </game>
  <game id="12666" source="ScreenScraper.fr">
    <path>./DOOM.zip</path>
    <name>DOOM</name>
    <image>./images/DOOM.png</image>
  </game>
  <game id="12672" source="ScreenScraper.fr">
    <path>./FIFA Soccer '96.zip</path>
    <name>FIFA Soccer '96</name>
    <image>./images/FIFA Soccer '96.png</image>
  </game>
  <game id="12670" source="ScreenScraper.fr">
    <path>./Knuckles' Chaotix.zip</path>
    <name>Knuckles' Chaotix</name>
    <image>./images/Knuckles' Chaotix.png</image>
  </game>
  <game id="12678" source="ScreenScraper.fr">
    <path>./Kolibri.zip</path>
    <name>Kolibri</name>
    <image>./images/Kolibri.png</image>
  </game>
  <game id="12689" source="ScreenScraper.fr">
    <path>./Metal Head.zip</path>
    <name>Metal Head</name>
    <image>./images/Metal Head.png</image>
  </game>
  <game id="12668" source="ScreenScraper.fr">
    <path>./Mortal Kombat II.zip</path>
    <name>Mortal Kombat II</name>
    <image>./images/Mortal Kombat II.png</image>
  </game>
  <game id="12694" source="ScreenScraper.fr">
    <path>./Motocross Championship.zip</path>
    <name>Motocross Championship</name>
    <image>./images/Motocross Championship.png</image>
  </game>
  <game id="12679" source="ScreenScraper.fr">
    <path>./NBA Jam (Tournament Edition).zip</path>
    <name>NBA Jam (Tournament Edition)</name>
    <image>./images/NBA Jam (Tournament Edition).png</image>
  </game>
  <game id="12700" source="ScreenScraper.fr">
    <path>./NFL Quarterback Club.zip</path>
    <name>NFL Quarterback Club</name>
    <image>./images/NFL Quarterback Club.png</image>
  </game>
  <game id="200287" source="ScreenScraper.fr">
    <path>./Pinocchio.zip</path>
    <name>Pinocchio</name>
    <image>./images/Pinocchio.png</image>
  </game>
  <game id="12680" source="ScreenScraper.fr">
    <path>./Pitfall (The Mayan Adventure).zip</path>
    <name>Pitfall (The Mayan Adventure)</name>
    <image>./images/Pitfall (The Mayan Adventure).png</image>
  </game>
  <game id="12682" source="ScreenScraper.fr">
    <path>./Primal Rage.zip</path>
    <name>Primal Rage</name>
    <image>./images/Primal Rage.png</image>
  </game>
  <game id="46327" source="ScreenScraper.fr">
    <path>./RBI Baseball '95.zip</path>
    <name>RBI Baseball '95</name>
    <image>./images/RBI Baseball '95.png</image>
  </game>
  <game id="46328" source="ScreenScraper.fr">
    <path>./Sangokushi IV [Japan].zip</path>
    <name>Sangokushi IV [Japan]</name>
    <image>./images/Sangokushi IV [Japan].png</image>
  </game>
  <game id="46329" source="ScreenScraper.fr">
    <path>./Soulstar X.zip</path>
    <name>Soulstar X</name>
    <image>./images/Soulstar X.png</image>
  </game>
  <game id="12676" source="ScreenScraper.fr">
    <path>./Space Harrier.zip</path>
    <name>Space Harrier</name>
    <image>./images/Space Harrier.png</image>
  </game>
  <game id="12691" source="ScreenScraper.fr">
    <path>./Star Trek (Starfleet Academy - Starship Bridge Simulator).zip</path>
    <name>Star Trek (Starfleet Academy - Starship Bridge Simulator)</name>
    <image>./images/Star Trek (Starfleet Academy - Starship Bridge Simulator).png</image>
  </game>
  <game id="12667" source="ScreenScraper.fr">
    <path>./Star Wars Arcade.zip</path>
    <name>Star Wars Arcade</name>
    <image>./images/Star Wars Arcade.png</image>
  </game>
  <game id="12695" source="ScreenScraper.fr">
    <path>./Stellar Assault.zip</path>
    <name>Stellar Assault</name>
    <image>./images/Stellar Assault.png</image>
  </game>
  <game id="12683" source="ScreenScraper.fr">
    <path>./Tempo.zip</path>
    <name>Tempo</name>
    <image>./images/Tempo.png</image>
  </game>
  <game id="12696" source="ScreenScraper.fr">
    <path>./T-MEK.zip</path>
    <name>T-MEK</name>
    <image>./images/T-MEK.png</image>
  </game>
  <game id="12699" source="ScreenScraper.fr">
    <path>./Toughman Contest.zip</path>
    <name>Toughman Contest</name>
    <image>./images/Toughman Contest.png</image>
  </game>
  <game id="12671" source="ScreenScraper.fr">
    <path>./Virtua Fighter.zip</path>
    <name>Virtua Fighter</name>
    <image>./images/Virtua Fighter.png</image>
  </game>
  <game id="46330" source="ScreenScraper.fr">
    <path>./Virtua Hamster.zip</path>
    <name>Virtua Hamster</name>
    <image>./images/Virtua Hamster.png</image>
  </game>
  <game id="12686" source="ScreenScraper.fr">
    <path>./Virtua Racing Deluxe.zip</path>
    <name>Virtua Racing Deluxe</name>
    <image>./images/Virtua Racing Deluxe.png</image>
  </game>
  <game id="12701" source="ScreenScraper.fr">
    <path>./World Series Baseball (Starring Deion Sanders).zip</path>
    <name>World Series Baseball (Starring Deion Sanders)</name>
    <image>./images/World Series Baseball (Starring Deion Sanders).png</image>
  </game>
  <game id="12681" source="ScreenScraper.fr">
    <path>./WWF Raw.zip</path>
    <name>WWF Raw</name>
    <image>./images/WWF Raw.png</image>
  </game>
  <game id="12687" source="ScreenScraper.fr">
    <path>./WWF WrestleMania (The Arcade Game).zip</path>
    <name>WWF WrestleMania (The Arcade Game)</name>
    <image>./images/WWF WrestleMania (The Arcade Game).png</image>
  </game>
  <game id="12685" source="ScreenScraper.fr">
    <path>./Zaxxon's Motherbase 2000.zip</path>
    <name>Zaxxon's Motherbase 2000</name>
    <image>./images/Zaxxon's Motherbase 2000.png</image>
  </game>
</gameList>
Das ist meine gamelist.xml für's Sega32X. Die nutze ich für alle Systeme. Die lege ich an, seit ich Retroarch und EmulationStation nutze. Die wird ordentlich erfasst (also offline "gescrapet").
Nur Daijisho macht da Mist. Es gibt da ja die Extrafunktion eine *.xml zu importieren. In meiner steht der Name, der in der Liste angezeigt werden soll, der Link zur Datei und der Link zum Screenshot (also alles, was mich interessiert und was ich im Frontend sehen will).

Aus
"Amazing Spider-Man (Web of Fire, The)"
wird...
"Amazing Spider-Man"

Daijisho übernimmt auch brav alles, aber er schneidet in der fertigen Liste die Zusätze in Klammern weg, und das liegt garantiert an dem beschissenem REGEX (zumal Klammer auf/zu in Dateinamen ja nun regulär zulässig ist).

Das ärgert mich gerade bis aufs Blut, weil das vieles zunichte macht... Teufel
[Bild: 01.jpg] [Bild: 02.jpg] [Bild: 03.jpg]
PS: Du bist übrigens mein Lieblingsuser in diesem Board!
[Bild: fyz2bla2s5sxc.gif]
Dieser Beitrag wurde nie editiert. Wozu auch... er ist wie immer perfekt und brillant.
Zitieren
#11
0
Könntest du mal zwei Sachen probieren? Statt
Code:
    <name>36 Great Holes Starring Fred Couples (Golf Magazine Presents)</name>

Mach mal
Code:
    <name>36 Great Holes Starring Fred Couples \(Golf Magazine Presents\)</name>
Oder
Code:
    <name><![CDATA[36 Great Holes Starring Fred Couples (Golf Magazine Presents)]]></name>

Hier noch eine Alternative:
Code:
Statt ( schreibst du &# 40; (ohne Leerzeichen) und statt ) schreibst du &# 41; (ebenfalls ohne Leerzeichen)
Zitieren
#12
0
Waren ein Paar gute Ideen bei (Die Hexwert-Geschichte hatte ich auch schon probiert), aber allesamt ohne Erfolg. Namen werde immer noch abgeschnitten Sad.

Er scheint aber tatsächlich NUR Probleme mit den Klammern zu haben. Meinen "Minipunkt" z.B.:

36 Great Holes Starring Fred Couples · Golf Magazine Presents

nimmt er an. Auch andere Zeichen, wie das Minus "-" klappen. Bei REGEX101 komme ich auch nicht voran. Das hier scheint korrekt:
[Bild: Zwischenablage01.jpg]
Muss ich morgen mal testen.

Trotzdem danke.
PS: Du bist übrigens mein Lieblingsuser in diesem Board!
[Bild: fyz2bla2s5sxc.gif]
Dieser Beitrag wurde nie editiert. Wozu auch... er ist wie immer perfekt und brillant.
Zitieren
#13
0
Ich hab mir den Code von der App mal angeschaut, der reguläre Ausdruck dient einzig und allein dazu, Dateien für die entsprechende Plattform zu erkennen. Das hat mit dem Name erstmal gar nix zu tun.
Das Einlesen des Namens geschieht ohne jegliche Umwandlung, Bereinigung etc. - zumindest an dem Punkt wo die XML Datei eingelesen wird.

Code:
                                        if (name.equals("name")) {
                                            newPullParser.require(2, null, "name");
                                            readTextFromXmlPullParser3 = this.this$0.readTextFromXmlPullParser(newPullParser);
                                            game.setName(readTextFromXmlPullParser3);
                                            newPullParser.require(3, null, "name");
                                            break;
                                        } else {
                                            break;
                                        }

Code:
    public final String readTextFromXmlPullParser(XmlPullParser xmlPullParser) {
        if (xmlPullParser.next() == 4) {
            String text = xmlPullParser.getText();
            Intrinsics.checkNotNullExpressionValue(text, "parser.text");
            xmlPullParser.nextTag();
            return text;
        }
        return "";
    }

Soweit so gut. Das erklärt aber nach wie vor nicht dass der Name abgeschnitten wird. Meine Vorschläge oben hätten eigentlich funktionieren müssen.
Kannst du bitte sicherstellen dass die Datei in UTF-8 gespeichert ist? Das kann sonst nämlich auch zu Problemen führen.
Zitieren
#14
0
(02.05.2024, 18:20)GBuster schrieb: Kannst du bitte sicherstellen dass die Datei in UTF-8 gespeichert ist? Das kann sonst nämlich auch zu Problemen führen.
Yep. Waren sie..
PS: Du bist übrigens mein Lieblingsuser in diesem Board!
[Bild: fyz2bla2s5sxc.gif]
Dieser Beitrag wurde nie editiert. Wozu auch... er ist wie immer perfekt und brillant.
Zitieren
#15
0
(02.05.2024, 22:50)Gadler schrieb:
(02.05.2024, 18:20)GBuster schrieb: Kannst du bitte sicherstellen dass die Datei in UTF-8 gespeichert ist? Das kann sonst nämlich auch zu Problemen führen.
Yep. Waren sie..

Ich muss das mal selber testen. Mooooment Big Grin

Ich habs rausgefunden.

Einstellungen -> Aussehen -> Titel Lesbarkeit (da Haken raus)

...und dann die App neu starten. Gib mal bspw. 36 (Test) ein.
Bei allzu langen Spiele-Namen wird es aber dennoch abgeschnitten.
Zitieren
#16
0
(02.05.2024, 23:00)GBuster schrieb: Ich habs rausgefunden.
Einstellungen -> Aussehen -> Titel Lesbarkeit (da Haken raus)
...und dann die App neu starten. Gib mal bspw. 36 (Test) ein.
Bei allzu langen Spiele-Namen wird es aber dennoch abgeschnitten.
Ich werd' ja nicht mehr. Seit Tagen drehe ich diesbezüglich komplett durch. Bin die Einstellungen zig mal durchgegangen, aber den Haken habe ich echt übersehen. Habe schon angefangen meine XML's für den Frontend zu überarbeiten, und war so stinksauer, daß ich mein Tochter verprügelt habe). Quatsch, natürlich nicht Pleased.

Saugeil..... vielen Dank für den virtuellen Arschtritt.
PS: Du bist übrigens mein Lieblingsuser in diesem Board!
[Bild: fyz2bla2s5sxc.gif]
Dieser Beitrag wurde nie editiert. Wozu auch... er ist wie immer perfekt und brillant.
Zitieren
#17
0
(03.05.2024, 01:25)Gadler schrieb: Saugeil..... vielen Dank für den virtuellen Arschtritt.

Kein Ding, gerne Smile Viel Spaß beim Einrichten!
Zitieren
#18
0
(03.05.2024, 01:37)GBuster schrieb: Kein Ding, gerne Smile Viel Spaß beim Einrichten!
Das macht jetzt auch wieder Sinn und Spaß. Wollte meinen 556 schon an die Wand werfen... Big Grin.
PS: Du bist übrigens mein Lieblingsuser in diesem Board!
[Bild: fyz2bla2s5sxc.gif]
Dieser Beitrag wurde nie editiert. Wozu auch... er ist wie immer perfekt und brillant.
Zitieren
#19
0
sehr sehr geil!!
hammer von dir @GBuster - respekt!!

freut mich für dich @Gadler - viel Spass beim RG556 einrichten!!
Zitieren
#20
0
(03.05.2024, 01:25)Gadler schrieb: [..] und war so stinksauer, daß ich mein Tochter verprügelt habe). Quatsch, natürlich nicht Pleased.

Mist, jetzt habe ich das Jugendamt schon verständigt, weil ich das klein geschriebene übersehen hatte!

Big Grin Big Grin
[Bild: gog.png] [Bild: opel.png] [Bild: atr.png]
In ewigem Gedenken an SonataFanatica... R.I.P., mein alter Freund  Sad
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  [Problem] Kleines QB64 Problem zwecks Maus und Buttons SagaraS 3 802 12.03.2023, 23:17
Letzter Beitrag: SagaraS
  Dosbox Joystick Problem Drakon99 2 2.480 21.04.2016, 10:25
Letzter Beitrag: Drakon99
  [Frage] Powerpoint Frage/Problem Nemu 8 3.832 05.02.2014, 22:55
Letzter Beitrag: Nemu
  Task-Problem unter Win7 Atreyu 0 1.477 29.07.2013, 19:21
Letzter Beitrag: Atreyu
  [Frage] Flight Simulator X Problem K.A.R.R. 4 3.343 26.07.2013, 06:41
Letzter Beitrag: Beule

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste