Thread Fieses Matching-Pattern entschlüsseln (16 answers)
Opened by Speedriff at 2013-11-25 11:10

jan
 2013-11-25 11:26
#172201 #172201
User since
2003-08-04
2536 Artikel
ModeratorIn
[Homepage] [default_avatar]
2013-11-25T10:10:49 Speedriff
$part = ~s/^(.*\/).*$/\1/g; # Das ist Magie... ;-)


die Klammern werden genutzt, um das darin enthaltene später als $1 bzw \1 verwenden zu können, für den Suchausdruck haben sie hier keinen Einfluss.

. steht für ein beliebiges Zeichen
* steht für beliebig viele Zeichen (von denen, die vorangingen)
.* ist also "beliebig viele beliebige Zeichen"
dann kommt ein /, der escapt werden muss weil der Ausdruck ja auch von / umschlossen ist.
dann kommt wieder .*, in Worten ausgedrückt lautet der Ausdruck also
"Fange am Anfang an. Finde beliebig viele beliebige Zeichen bis ein Slash auftaucht und speichere sie in $1, danach kommen noch mal beliebig viele beliebige Zeichen bis zum Ende. Nun ersetze den ganzen String durch das in $1 gespeicherte."

View full thread Fieses Matching-Pattern entschlüsseln