ASCII-Zeichenklasse für reguläre Ausdrücke

Herakles

Profifragensteller
Moin!

Ich möchte gern in einem regulären Ausdruck nach ASCII-Zeichen suchen. Ein Blick auf Wikipedia zeigt mir, dass es offenbar die Klasse

Code:
[:print:]

sein müssten, denn sie beinhaltet als "Metaklasse" [:alnum:], [:punct:] und Leerzeichen. Da [:punct:] offenbar kein § enthält, was ja kein ASCII-Zeichen ist, hätte ich erwartet, dass die Klasse [:print:] das ist, was ich suche.

Wenn ich jetzt aber folgendes mache:

Code:
echo "§" | sed -e "s/[[:print:]]//g"

...dann schluckt sed(1) das Paragraphenzeichen weg. Wie man aber hier sieht, ist der Paragraph gar nicht Teil des ASCII-Zeichensatzes.

Welche Klasse beinhaltet also NUR und ausschließlich ASCII-Zeichen?

Danke für Eure Infos,
Herakles
 
ASCII-Zeichen haben Werte von 0 bis 127. "§" ist da nicht enthalten. Viele Leute vertauschen die Begriffe. ANSI ist zum Beispiel nicht ASCII. Auch ist Latin-1 kein ASCII etc.
 
Dessen bin ich mir sehr wohl bewusst und ich dachte auch, das ginge aus meinem Posting hervor - deswegen hilft mir Deine Antwort leider wenig :-(
 
Setz einfach die Umgebung LC_ALL auf "C". Dann schluckt er es nicht mehr.

Ich dachte, dass [:print:] die Klasse der sichtbaren Zeichen darstellt. Also die, die mindestens mit einem Pixel dargestellt werden.
 
Zurück
Oben