"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

regular expressions

schizophrenia 28.08.2007 - 08:18 939 12
Posts

schizophrenia

Bloody Newbie
Registered: Sep 2004
Location: Austria
Posts: 32
hi leute,

entschuldigt di vl einfache frage...aber ich habe schon viele foren durchgelesen und probiert und bin auf keine richtige lösung gekommen...

ich habe folgendene textausschnitte:

1) xyz=Hallo=
2) /Hallo=

also entweder oder, das hab ich so gelöst:

regex: /.* [\/ | xyz=](.*)= /isU

mein problem hier: ...im 2. fall passt das ergebnis...im 1. jedoch bekomme ich als ergebnis immer : yz=hallo.... anscheinend hört er nach dem x auf zu suchn....ich möcht dort aber logischerweise ebenfalls "hallo" herausbekommen? gibt es da eine möglichkeit?

lg schurli

Nico

former person of interest
Registered: Sep 2006
Location: -
Posts: 4082
probier mal (^xyz=$) anstatt xyz=

schizophrenia

Bloody Newbie
Registered: Sep 2004
Location: Austria
Posts: 32
mhm...nein funktioniert nicht...ich bekomme noch immer das selbe ergebnis ..hm ...*grübel*

Nico

former person of interest
Registered: Sep 2006
Location: -
Posts: 4082
und ohne eckige klammern?

that

Moderator
Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11338
Die eckigen Klammern stehen für *ein* Zeichen - du brauchst runde.

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25423
Zitat von Nico
und ohne eckige klammern?
ist das hier das große regex-raten? :bash: :p

regex buddy oder regulator installieren und dein problem sollte sich ohne zahlreichen versuchen in luft auflösen.

Nico

former person of interest
Registered: Sep 2006
Location: -
Posts: 4082
hehe du hast es erfasst, oder nur eine langsame hinführung zur lösung :D

COLOSSUS

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12071
http://johannes.truschnigg.info/tut/regex-tut.sxhtml

Hab ich mal fuer die Uni geschrieben. Vielleicht hilft's ja jemandem :)

schizophrenia

Bloody Newbie
Registered: Sep 2004
Location: Austria
Posts: 32
[\/ | (xyz=)]...so find i di lösung laut internet ..die geht aber nicht...und auch di bis jetzt genannten lösungen...ham net gholfen, hab scho lang im internet gschaut und probiert mit einem regexp-evaluator...komm jedoch auch nach langer zeit auf keine lösung...
das problem is...dass es entweder "ein" zeichen...ODER "mehrere" zeichen sein suin...weiß net ob des überhaupt geht...

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25423
Code:
^(\/|xyz=)(.*)=
..aus mitleid, weil das internet nur lügen ausspuckt ;)

schizophrenia

Bloody Newbie
Registered: Sep 2004
Location: Austria
Posts: 32
jo sowas in der art hab i ah ghabt;) ...da hab ich das problem dass ich durch die runden klammern ein ergebnis mehr in meinem array zurückbekomme...was ich nicht will....lg

ps: auch ein \b vorher und nachher ändert nichts.hab mir den link den du mir gegebn hast durchgesehen...

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25423
Code:
^(?:\/|xyz=)(.*)=
?: verhindert eine backreference.

schizophrenia

Bloody Newbie
Registered: Sep 2004
Location: Austria
Posts: 32
JOOOO danke genau sowas hab i gsucht;) haut supa hin...thx an alle , lg newbie
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz