AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

REGEX mit TMatchCollection

Ein Thema von wschrabi · begonnen am 25. Jul 2024 · letzter Beitrag vom 25. Jul 2024
Antwort Antwort
shebang
Online

Registriert seit: 7. Feb 2020
144 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: REGEX mit TMatchCollection

  Alt 25. Jul 2024, 11:27
Delphi-Quellcode:
if matches.Count > 0 then
  begin
    if match.Groups.Count>1 then
Die Counts der Gruppen sind immer 0!
Das liegt daran, dass du hier auf match statt auf matches zugreifst.
  Mit Zitat antworten Zitat
wschrabi

Registriert seit: 16. Jan 2005
456 Beiträge
 
#2

AW: REGEX mit TMatchCollection

  Alt 25. Jul 2024, 12:42
Delphi-Quellcode:
if matches.Count > 0 then
  begin
    if match.Groups.Count>1 then
Die Counts der Gruppen sind immer 0!
Das liegt daran, dass du hier auf match statt auf matches zugreifst.
Nein, wenn ich matches.Groups.Count mache kommt ein Compiler Fehler. (siehe BILD)
ABer etwas stimmt, ich muss die IF in die loop reintun.

EIN TREFFER wäre lt. der REGEX: 6.1 (3, 8)
im TEXT die Zeile 14.3
Die Regex müßte aber passen, doch wieso ist Groups immer 0. Was hat es mit den Bug - wie berichtet auf sich?
Besten DANK
Angehängte Grafiken
Dateityp: jpg bug_delphi_matches.JPG (26,8 KB, 14x aufgerufen)
  Mit Zitat antworten Zitat
shebang
Online

Registriert seit: 7. Feb 2020
144 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: REGEX mit TMatchCollection

  Alt 25. Jul 2024, 13:41
Du kannst das Ganze etwas vereinfachen, deine for-Schleife fängt den Fall, dass es keine Matches gibt schon ab:
Delphi-Quellcode:
for match in matches do begin
  if match.Groups.Count < 3 then Continue;

  mainToken := match.Groups[1].Value;
  subTokens := match.Groups[2].Value;
  if subTokens <> 'then
    Result:= mainToken+' ('+ subTokens+ ')'
  else
    Result:= mainToken;
end;
Deine RegEx enthält aber nur eine Capturing Group und eine Non-capturing Group, es wird also nie mehr als 2 Groups geben können.
Beschreibe doch bitte mal, was deine RegEx eigentlich erreichen soll.

Geändert von shebang (25. Jul 2024 um 13:45 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz