regulärer ausdruck "nicht http://"
mintoxis
- perl
Hi,
wie kann ich in einem regulären Ausdruck folgendes hinbekommen:
Anführungszeichen, dann ein beliebiger Text - der jedoch nicht mit http:// anfängt, und dann wieder Anführungszeichen?
Danke!
mintoxis
Hallo
wie kann ich in einem regulären Ausdruck folgendes hinbekommen:
Anführungszeichen, dann ein beliebiger Text - der jedoch nicht mit http:// anfängt, und dann wieder Anführungszeichen?
Mit einem negativen Lookahead.
Gruß Uwe
Hi,
Anführungszeichen, dann ein beliebiger Text - der jedoch nicht mit http:// anfängt, und dann wieder Anführungszeichen?
mit einem negativem lookahead:
Regex: #^"(?!http).+"$#i
str1: "das ist ein beliebiger Text."
str2: "http://www.foo.de das ist ein Text mit http."
past: "das ist ein beliebiger Text."
past nicht: "http://www.foo.de das ist ein Text mit http."
Gruesse, Joachim
gudn tach!
Anführungszeichen, dann ein beliebiger Text - der jedoch nicht mit http:// anfängt, und dann wieder Anführungszeichen?
mit einem negativem lookahead:Regex: #^"(?!http).+"$#i
in perl braucht man i.d.r. die anfuehrungszeichen nicht zu maskieren. zudem ist .+ greedy und deshalb evtl. besser durch .+? zu ersetzen, also z.b.
#"(?!http://).+?"#i
aber vorsicht, der ausdruck wuerde z.b. auch
" bla "
in
"http://foo" bla "http://bar"
matchen.
prost
seth
ei aaach so,
in perl braucht man i.d.r. die anfuehrungszeichen nicht zu maskieren.
bin immer übervorsichtig ;-)
aber vorsicht, der ausdruck wuerde z.b. auch
" bla "
in
"http://foo" bla "http://bar"
matchen.
hm, ja vielleicht besser sowas: [^"]+"$
Aber so genau hat er seine Anforderungen nicht formuliert...
prost
erst wieder nach Sonnenuntergang, aber dann... ;-)
Gruesse, Joachim