Schrift
[thread]8355[/thread]

Seltsames regex und seltsames substr.

Leser: 1


<< >> 7 Einträge, 1 Seite
toby
 2006-09-24 20:20
#70163 #70163
User since
2006-04-14
66 Artikel
BenutzerIn
[default_avatar]
Hallo! :)

Habe zwei kurze Fragen, wo ich alleine nicht weiterkomme:

a) Wofür genau steht folgender regex " !(/\.\$\$\$$/) " ? Verwendung fand es im folgendem grep:

@files = grep ( !(/\.\$\$\$$/) && -f "scandir/$_", readdir(DIR));

b) Was genau ist mit " .' 'x20 " in "$module.' 'x20,0,20" gemeint? Verwendung fand es im folgendem substr:

$module = substr( $module.' 'x20,0,20);

Kann mir das jemand erklären? Danke! :)
Tobias
esskar
 2006-09-24 20:28
#70164 #70164
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
der regexp macth auf einen text, der hinten auf .$$$ endet

\. steht für den punkt
\$ für ein Dollar zeichen
das lezte dollarzeichen steht für das stringende

grep ( !(/\.\$\$\$$/) filtert also alle dateinnamen raus, die nicht auf .$$$ enden

x20 ist der hexwert für den ascii-character " " (leerzeichen)
topeg
 2006-09-24 20:36
#70165 #70165
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Quote
$module = substr( $module.' 'x20,0,20);

in dem Fall wird deshalb, 20 mal ein Leerzeichen einfügt, damit "substr" immer 20 Zeichen zurückliefert, auch wenn in $module weniger als 20 Zeichen sind (oder ganz leer ist). Ich vermute mal es dient zur besseren Ausgabe.
esskar
 2006-09-24 22:01
#70166 #70166
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=topeg,24.09.2006, 18:36]
Quote
$module = substr( $module.' 'x20,0,20);

in dem Fall wird deshalb, 20 mal ein Leerzeichen einfügt, damit "substr" immer 20 Zeichen zurückliefert, auch wenn in $module weniger als 20 Zeichen sind (oder ganz leer ist). Ich vermute mal es dient zur besseren Ausgabe.[/quote]
stimmt; da hab ich mich verschaut
toby
 2006-09-24 23:13
#70167 #70167
User since
2006-04-14
66 Artikel
BenutzerIn
[default_avatar]
Hallo essker, hallo topeg, hallo Forum :)

ad a)

> der regexp macth auf einen text, der hinten auf .$$$ endet

Danke essker! Stünde "$" für ein beliebiges Zeichen (wie sonst der PUNKT es macht), dann könnte man evtl. Windowsfiles meinen, aber ".$$$" macht für mich keinen Sinn, aber egal, jetzt weiss ich, dass hier Files mit punkt und drei Dollarzeichen gemeint sind.

ad b)

> x20 ist der hexwert für den ascii-character " " (leerzeichen)

hey, genauso habe ich es auch am Anfang gedacht und hab mich von dem angeblichem Hexwert verunsichern lassen, wobei "x20" ja zwanzig mal den Leerzeichen bedeutet :) Danke topeg für die Aufklärung! :)

Viele Grüße
Tobias
topeg
 2006-09-25 00:04
#70168 #70168
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Ich benutze Windows zwar lange nicht mehr, aber ich glaube mich zu erinnern, das unter jenem System Dateien, welche auf .$$$ enden, temporäre Arbeitskopien von geöffneten Dateien wären.
betterworld
 2006-09-25 04:00
#70169 #70169
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
[quote=esskar,24.09.2006, 18:28]das lezte dollarzeichen steht für das stringende[/quote]
Stringende oder aber der leere String vor einem Zeilenumbruch, der vom Stringende gefolgt wird.\n\n

<!--EDIT|betterworld|1159142548-->
<< >> 7 Einträge, 1 Seite



View all threads created 2006-09-24 20:20.