Regex Problem

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Facebamm.

    Regex Problem

    Pease leute,

    kurz zusammengefasst ich habe folgendes Prblem ich versuche mit regex eine zeichenvolge zu entfernen nur leider kenne ich mich mit regex zu wenig aus...

    diese zeichenfolge soll ersetzt werden (? = unbestimmter parameter bzw. laut meines wissens ist das in regex das * zeichen):

    Quellcode

    1. [?;?;?m


    danke für jede antwort :)
    Reguläre Ausdrücke (REGEXP) - Grundlagen

    . (Punkt) genau EIN beliebiges Zeichen. Es kann ein A oder ein 9 sein oder eine Leerstelle usw. Aber irgendein Zeichen muss kommen. Genau eines.
    - (Minus) entweder als Bereich-Angabe, z.B. [A-Z] – ein Großbuchstabe A bis Z ODER wenn es am Anfang oder am Ende von REGEXP steht, dann einfach ein Minus (dasselbe wie \-):
    Also [A-Z] heißt alle Großbuchstaben von A bis Z
    und [-A-Z] heißt das Minuszeichen UND alle Großbuchstaben von A bis Z
    und [A-Z\-] heißt genauso alle Großbuchstaben von A bis Z und Minuszeichen. Wenn das Minuszeichen nicht am Anfang steht, muss es mit \ markiert werden.
    \ (backslash) Hebt die Metafunktionen von Metazeichen auf.
    Z.B. ich suche nach einem Punkt im String.
    Da der Punkt als solcher eine Metafunktion hat (ein Punkt ersetzt genau ein beliebiges Zeichen, egal, was es ist), würde eine Suche nach . alle möglichen Ergebnisse bringen.
    Wenn ich tatsächlich einen Punkt haben will, muss ich den Punkt als \. reinscheiben - dieses \ sagt dann: ich will nicht nach einem beliebigen Zeichen suchen (was ja der . ist), sondern ich will eben einen Punkt. Also \.
    ^ wenn es in eckigen Klammern ist, negiert es den Inhalt, z.B. [^d-z] heißt keine Kleinbuchstaben zwischen d und z
    ansonsten Anfang einer Zeichenkette oder Zeilenanfang (also ^a heißt, dass am Anfang a stehen muss).
    $ Ende einer Zeichenkette oder Zeilenende
    z.B. bei "toller" trifft "r$" zu, ein "a$" jedoch nicht.
    | Alternativen (=oder), z.B. [a-z]|[0-9] sucht nach einem Kleinbuchstaben (a-z) ODER einer Ziffer (0-9)
    + das Zeichen vor dem Plus muss min. einmal bis x-mal vorkommen, z.B. a+ für a, aa, aaa...
    * das Zeichen vor dem Stern muss 0 bis x-mal vorkommen, z.B. a* steht für nichts (0 Vorkommen) bis aaaaaaaa.... x tausend mal
    ? das Zeichen vor dem ? muss 0 bis 1-mal vorkommen, "H..?se" findet 'Hase', aber auch 'Hirse'
    {x,y} Häufigkeit des Vorkommens: x- bis y-mal, z.B. \d{2,4) heißt 2 bis 4 Ziffern, {2,} heißt mindestens 2 mal, {3} heißt genau 3 mal.
    [] genau ein Zeichen, was zw. den Klamern ist, z.B. [abc] sucht nach Vorkommen von a, b oder c (also nicht den String "abc", sondern genau einen Buchstaben a oder b oder c. EIN Buchstaben ist gefragt.
    () runde Klammern zur Zusammenfassung der Ausdrücke, z.B. ^(abc|xyz) heißt 'abc' oder 'xyz' am Anfang einer Zeichenkette (wie in der Mathematik (1+2) x 3)
    \d genau eine Ziffer [0-9] (d wie digit)
    \D ein Zeichen, das keine Ziffer ist, also [^\d]
    \w genau ein Buchstabe, eine Ziffer oder der Unterstrich, also [a-zA-Z_0-9] (und evtl. weitere Buchstaben, z. B. Umlaute)
    \W ein Zeichen, das weder Buchstabe noch Zahl noch Unterstrich ist, also [^\w]
    \s Whitespace; meistens die Klasse der Steuerzeichen \f, \n, \r, \t und \v
    \S ein Zeichen, das kein Whitespace ist [^\s]
    \b leere Zeichenkette am Wortanfang oder am Wortende (erkennt Anfang eines Wortes) z.B. '\bdies oder das' findet 'dies oder das' aber nicht 'Paradies und das Weib'
    \B leere Zeichenkette, die nicht den Anfang oder das Ende eines Wortes bildet
    \< leere Zeichenkette am Wortanfang
    \> leere Zeichenkette am Wortende
    \t Tabulator
    \n ein Zeilenumbruch (im Unix-Format)
    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."
    Ich verstehe deine Frage nicht ganz.

    Ist [?;?;?m , die Zeichen folge zu ersetzen, also [?;?;?m taucht in irgendeinem String und willst den Teil entfernen ersetzen oder ? ist ein platzhalter für alles mögliche? oder nur Nummern, nur ein Char, mehrere?

    Außer die gute Tutorials hier im Forum über Regex, kannst du dazu z.B Regex101 oder irgendein RegexService nutzen, was sehr praktisch ist, vor allem am Anfang, um zu verstehen wie Regex funktioniert.
    Life doesn't give you a datasheet. Sometimes the docs are wrong and you have to try it.