AGB  ·  Datenschutz  ·  Impressum  







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

Regex-Problem

Ein Thema von 3_of_8 · begonnen am 25. Sep 2006 · letzter Beitrag vom 25. Sep 2006
Antwort Antwort
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#1

Regex-Problem

  Alt 25. Sep 2006, 20:09
Morgen.

Ich hab einen String $a.

Jetzt möchte ich, dass folgender String gematcht wird:

blablabla $a blablabla

Folgender String nicht:

blablabla$a blablabla

Folgender String auch nicht:

<x "$a">

Und auch der nicht:

<a ...>blablabla $a blablabla</a>

Wie mache ich das? Das erste, was mir einfällt, ist:

#\b($a)\b#ise

Das Problem ist: <x "$a"> wird trotzdem gematcht, <a ...>blablabla $a blablabal</a> auch.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Thorben77

Registriert seit: 22. Okt 2004
359 Beiträge
 
#2

Re: Regex-Problem

  Alt 25. Sep 2006, 20:43
Code:
#[a-z]+\s$a\s[a-z]+#ise
So vielleicht?!

Edit: Die Leerzeichen vergessen.
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#3

Re: Regex-Problem

  Alt 25. Sep 2006, 20:50
Bei so wenig Input rate ich einfach mal:
Code:
^[\w\s]*?\s\$a\s[\w\s]*?$
Gefällts?

[edit]
Wenn es darum geht, dass $a außerhalb aller Tags stehen muss: Nicht möglich mit Regexes.
[/edit]
[edit2]
Wenn allerdings feststeht, dass es keine verschachtelten Tags gibt, kannst du so etwas in der Art versuchen:
Code:
((?<=<\\[^>]+)>|^)[\w\s]*?\s\$a\s....
[/edit2]
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Regex-Problem

  Alt 25. Sep 2006, 22:48
Das habe ich mir fast schon gedacht, nur das PHPBB könnte das eben auch... Egal, ich bin gerade dabei, das Problem mithilfe eines Stacks, eines Baumes und einem deterministischen endlichen Automaten zu lösen oder wie das Ding heißt.

So müsste es dann gehen, wenn ich eine Baumstruktur habe, dann kann ich nämlich die Akronyme ($a ist ein Akronym) schon vor der Ersetzung BBCode->HTML-Tag einfügen und habe dadurch volle Kontrolle darüber, in welchem Tag so ein Ding auftreten kann.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  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 20:02 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