• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

Suchen nach String mit RegEx

Zettt

Doppelter Melonenapfel
Registriert
16.10.05
Beiträge
3.374
Hallo,

Ich werde manchmal aus RegEx nicht schlau. Gut ich bin ein Anfaenger...da kommt das vor. Also frag ich mal hier nach.

Wie suche ich denn mit RegEx nach einem exaktem String?

Mein Problem ist folgendes. Und zwar moechte ich gerne spasshalber
Code:
*.*
durch
Code:
*
ersetzen.

Ich hoffe ihr versteht das Dilemma. Mit [] kann man Zeichen zusammenfassen, die man ausgeklammert haben moechte. Aber irgendwie so 100% hinter RegEx bin ich noch nicht gestiegen. :( Weisst da vielleicht (zusaetzlich) jemand Lektuere oder ein Tutorial?

Danke
 
Ich weiß zwar nicht welche Programmiersprach du verwendest, aber meistens kann man Klammern setzen und der Ersetzungsfunktion, dann sagen, welche Klammern er behalten soll.
Beispiel:
Code:
(*)(.*)
Sieht zwar blöd aus, aber du könntest jetzt den Inhalt, der zwischen dem ersten Klammernpaar steht mit \1 ansprechen, den aus dem Zweiten mit \2.
Code:
PHP
preg_replace("!(*)(.*)!", "\2 \1", "Datei.txt")
Diese Anweisung würde ".txt Datei" zurückgeben. (Bin mir nicht ganz sicher, wegen den Delimitern aber auch zu faul nachzuschauen ;-))
 
*.* ist aber kein gültiger regulärer Ausdruck. Was genau versuchst Du da?
 
Windows Files? :-P

Nur zur Motivation: Niemand hat RegExp vollständig verstanden.
Gruß Pepi
 
Naklar habe ich die vollständig verstanden ;-) Was war nochmal [::alnum::]?
 

So in der Art ;)
Es ging tatsaechlich um Dateien. Bei uns auf Arbeit im Forum kamen wir irgendwie mit Dateien ins Gespraech und naja ich hab halt unwissenderweise "mv ~/*.*" geschrieben statt "mv ~/*" (also so ungefaehr bloss...)

Und weil das eh so ein freakiges Gespraech war, bei dem man gegenseitig nur mit irgendwelchen Unix Kommandos antwortet wollte ich eben meinen Fauxpas gerne mit sed korrigieren...verstaendlich?
(Ausserdem wuerde es mich natuerlich auch so interessieren. In den von mir bekannten und benutzten Programmen steht * fuer irgendein Zeichen)
Ach Sch... stimmt ja ist ja der Punkt :-!
Naja....niemand kennt die Syntax auswendig ne?
 
Axo! Du meinst, Du möchtest den regulären Ausdruck, der Dir aus "mv ~/*.*" "mv ~/*" erstellt?

s/\*\.\*/\*/;
 
Richtig! Sorry. Ich hab deine Antwort gerade erst entdeckt. Danke

EDIT:
Achsoooo so einfach. Das wusst ich nicht. Einfach den Punkt "escapen" (was fuer ein Wort).