RegEx ganzer Text bis auf ein bestimmtes Wort markieren
Hallo zusammen,
kann mir jemand mit regexe helfen.
Ich sollte einen Text kpl makieren bis auf ein bestimmtes Wort.
Leider kann ich das ganze nur mit regex machen, da es von dem besthenden Programm so vorgegeben ist.
Danke für eure Hilfe
Pasido
kann mir jemand mit regexe helfen.
Ich sollte einen Text kpl makieren bis auf ein bestimmtes Wort.
Leider kann ich das ganze nur mit regex machen, da es von dem besthenden Programm so vorgegeben ist.
Danke für eure Hilfe
Pasido
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 483491
Url: https://administrator.de/forum/regex-ganzer-text-bis-auf-ein-bestimmtes-wort-markieren-483491.html
Ausgedruckt am: 13.04.2025 um 14:04 Uhr
12 Kommentare
Neuester Kommentar
Hi!
Du meinst du musst eine Bedingung per Regex umsetzen, weil ein anderes Programm eine MatchCollection oder sowas erwartet?
Und das Ergebnis soll irgendwo in einer TextBox (??) highlighted werden? Verstehe nicht ganz was du meinst.
Powershell (exemplarisch):
Du meinst du musst eine Bedingung per Regex umsetzen, weil ein anderes Programm eine MatchCollection oder sowas erwartet?
Und das Ergebnis soll irgendwo in einer TextBox (??) highlighted werden? Verstehe nicht ganz was du meinst.
Powershell (exemplarisch):
$highLight = @()
Foreach ($wordInTxt in $meineTextBox.text.Split(' '))
{
if (! [Regex]::Match($wordInTxt, "DoNotHighLight", [RegexOption]::IgnoreCase).Success)
{
$highLight += $wordInTxt
}
}
...
...

Zitat von @Pasido:
Suchen kann ich entweder direkt bsp. Sommer;Winter oder [^(Sommer).*];Winter.
Ich möchte gerne den klp. Text ersetzen wenn Sommer gefunden wird.
In dem Fall reicht ja .*Sommer.*Suchen kann ich entweder direkt bsp. Sommer;Winter oder [^(Sommer).*];Winter.
Ich möchte gerne den klp. Text ersetzen wenn Sommer gefunden wird.
Das matcht den kompletten Text wenn das Wort Sommer irgendwo im Text existiert.
https://regex101.com/r/LyukI0/1

Zitat von @Pasido:
Leider wird nicht alles in meinem Text markiert. Nach dem Enter wird der Text nicht mehr erkannt.
Was wird nicht mehr erkannt?? Wir kennen die Funktionsweise deines Programms nicht!Leider wird nicht alles in meinem Text markiert. Nach dem Enter wird der Text nicht mehr erkannt.
gibt es da auch eine Lösung ?
Klar wenn man mal wüsste wie dein Programm überhaupt arbeitet und was es tatsächlich als Text erwartet und mit welcher Regex-Bibliothek das Ding arbeitet. Fragen über Fragen!Das Regex von oben funktioniert normalerweise in jeder x beliebigen Regex Bibliothek simpelste Basics.
Je nach dem wie dein Programm arbeitet müssen eventuell Optionen gesetzt werden das Newline Zeichen durch die punkte gematcht werden usw. oder aber das Programm erwartet andere Strings als die die du ihm übergibst wir kennen dein Programm ja nicht

Zitat von @Pasido:
Habe mit dem Link den du mir geschickt hast getestet. Sobald ich dort ein Enter setze wird der Text nicht mehr makiert. Das Programm das ich hier habe verhällt sich identisch mit dem Link von dir.
Du brauchst nur die "Option" s (für Newline matches durch den Punkt) zusätzlich setzen dann klappt auch das ...Habe mit dem Link den du mir geschickt hast getestet. Sobald ich dort ein Enter setze wird der Text nicht mehr makiert. Das Programm das ich hier habe verhällt sich identisch mit dem Link von dir.
https://regex101.com/r/LyukI0/2
oder alternativ schreibst du (?s) vor den Regex wenn du die Option s in deinem Programm nicht definieren kannst
https://regex101.com/r/LyukI0/3
Die Klammern um das Word kannst du dir auch sparen, habe die hier nur der Anschauung wegen gesetzt damit man sieht das im Text das Wort vorkommt.

Gut. Dann fürs nächste mal dran denken gleich alle nötigen Details in den Post setzen
.

Negative Lookaround ist dein Freund
https://regex101.com/r/RslTVa/1
https://regex101.com/r/RslTVa/1