AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Regex Problem

Ein Thema von Bubblegum · begonnen am 22. Mär 2008 · letzter Beitrag vom 22. Mär 2008
Antwort Antwort
Bubblegum

Registriert seit: 8. Sep 2007
57 Beiträge
 
Delphi 2007 Professional
 
#1

Regex Problem

  Alt 22. Mär 2008, 21:48
Hab mal eine Frage zu regulären Ausdrücken:

Beispiel: Ich möchte einen String nach dem Wort "Nummer" oder "Number" untersuchen. "Nummer" kann entweder alleine als auch als Teilwort vorhanden sein. Soweit kein Problem -> Ausdruck z.B.: "(Nummer|Number)". Was muss ich aber machen, wenn ich ausschließen will, dass das Wort "Telefon" auch Teil des Strings ist?
Einzelne Zeichen kann ich ja negieren mit "^° aber wie mach ich das mit einem ganzen Wort?
Der Ausdruck "(Nummer|Number|^Telefon)" funktioniert so ja nicht. Wie mache ich das?
  Mit Zitat antworten Zitat
Benutzerbild von KingIR
KingIR

Registriert seit: 19. Feb 2006
81 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Regex Problem

  Alt 22. Mär 2008, 21:59
Am sinnvollsten einfach eine zweite Regex bzw. die Stringsuchfunktion der Sprache deiner Wahl benutzen. Du könntest auch ein negatives lookahead benutzen, aber einfacher, schneller und verständlicher ist es, Pos, indexOf, substr, etc. zu benutzen.
  Mit Zitat antworten Zitat
Bubblegum

Registriert seit: 8. Sep 2007
57 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Regex Problem

  Alt 22. Mär 2008, 22:03
@KingIR
Könntest du mir mal ein Beispiel dafür geben?
  Mit Zitat antworten Zitat
kcx

Registriert seit: 19. Feb 2008
44 Beiträge
 
#4

Re: Regex Problem

  Alt 22. Mär 2008, 22:16
Haste das mal probiert:

[^telefon](nummer|number)
  Mit Zitat antworten Zitat
Bubblegum

Registriert seit: 8. Sep 2007
57 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Regex Problem

  Alt 22. Mär 2008, 22:25
Das Problem ist, dass "Telefon" überall stehen kann. Z.B. "Nummer - Telefon" kann genauso wie "Telefonnummer" vorkommen. Normalerweise würde ich das ja auch mit "Pos" oder so machen, aber ich muss das ganze in einen regulären Ausdruck unterbringen und darf keinen Delphi - Code verwenden. Gibt es da nicht sowas wie "and not (Telefon)" dann würde das immer greifen. Kann man das mit Lookahead oder machen. Das wäre toll, wenn ich da mal ein Beispiel hätte.
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#6

Re: Regex Problem

  Alt 22. Mär 2008, 22:38
Zitat von kcx:
Haste das mal probiert:

[^telefon](nummer|number)
Das bedeutet nichts weiter als "Vor dem Wort "nummer" oder "number" dürfen weder t, e, l, f, o oder n stehen".
  Mit Zitat antworten Zitat
Antwort Antwort


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 18:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz