CVSROOT: /webcvs/grep Module name: grep Changes by: Jim Meyering <meyering> 25/04/11 13:06:09
Index: html_node/Character-Classes-and-Bracket-Expressions.html =================================================================== RCS file: /webcvs/grep/grep/manual/html_node/Character-Classes-and-Bracket-Expressions.html,v retrieving revision 1.35 retrieving revision 1.36 diff -u -b -r1.35 -r1.36 --- html_node/Character-Classes-and-Bracket-Expressions.html 13 May 2023 09:23:49 -0000 1.35 +++ html_node/Character-Classes-and-Bracket-Expressions.html 11 Apr 2025 17:06:07 -0000 1.36 @@ -1,11 +1,11 @@ <!DOCTYPE html> <html> -<!-- Created by GNU Texinfo 7.0dev, https://www.gnu.org/software/texinfo/ --> +<!-- Created by GNU Texinfo 7.1.1, https://www.gnu.org/software/texinfo/ --> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <!-- This manual is for grep, a pattern matching engine. -Copyright © 1999-2002, 2005, 2008-2023 Free Software Foundation, +Copyright © 1999-2002, 2005, 2008-2025 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document @@ -14,10 +14,10 @@ Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". --> -<title>Character Classes and Bracket Expressions (GNU Grep 3.11)</title> +<title>Character Classes and Bracket Expressions (GNU Grep 3.12)</title> -<meta name="description" content="Character Classes and Bracket Expressions (GNU Grep 3.11)"> -<meta name="keywords" content="Character Classes and Bracket Expressions (GNU Grep 3.11)"> +<meta name="description" content="Character Classes and Bracket Expressions (GNU Grep 3.12)"> +<meta name="keywords" content="Character Classes and Bracket Expressions (GNU Grep 3.12)"> <meta name="resource-type" content="document"> <meta name="distribution" content="global"> <meta name="Generator" content="makeinfo"> @@ -32,7 +32,6 @@ <style type="text/css"> <!-- a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em} -span.r {font-family: initial; font-weight: normal; font-style: normal} span:hover a.copiable-link {visibility: visible} --> </style> @@ -67,13 +66,13 @@ <a class="index-entry-id" id="index-range-expression"></a> <p>Within a bracket expression, a <em class="dfn">range expression</em> consists of two characters separated by a hyphen. -It matches any single character that -sorts between the two characters, inclusive. -In the default C locale, the sorting sequence is the native character -order; for example, ‘<samp class="samp">[a-d]</samp>’ is equivalent to ‘<samp class="samp">[abcd]</samp>’. -In other locales, the sorting sequence is not specified, and -‘<samp class="samp">[a-d]</samp>’ might be equivalent to ‘<samp class="samp">[abcd]</samp>’ or to -‘<samp class="samp">[aBbCcDd]</samp>’, or it might fail to match any character, or the set of +In the default C locale, it matches any single character that appears +between the two characters in ASCII order, inclusive. +For example, ‘<samp class="samp">[a-d]</samp>’ is equivalent to ‘<samp class="samp">[abcd]</samp>’. +In other locales the behavior is unspecified: +‘<samp class="samp">[a-d]</samp>’ might be equivalent to +‘<samp class="samp">[abcd]</samp>’ or ‘<samp class="samp">[aBbCcDd]</samp>’ or some other bracket expression, +or it might fail to match any character, or the set of characters that it matches might be erratic, or it might be invalid. To obtain the traditional interpretation of bracket expressions, you can use the ‘<samp class="samp">C</samp>’ locale by setting the @@ -88,98 +87,86 @@ <a class="index-entry-id" id="index-classes-of-characters"></a> <a class="index-entry-id" id="index-character-classes"></a> <dl class="table"> -<dt>‘<samp class="samp">[:alnum:]</samp>’</dt> -<dd><a class="index-entry-id" id="index-alnum-character-class"></a> -<a class="index-entry-id" id="index-alphanumeric-characters"></a> -<p>Alphanumeric characters: +<dt><a class="index-entry-id" id="index-alphanumeric-characters"></a> +<a id="index-alnum-character-class"></a><span>‘<samp class="samp">[:alnum:]</samp>’<a class="copiable-link" href="#index-alnum-character-class"> ¶</a></span></dt> +<dd><p>Alphanumeric characters: ‘<samp class="samp">[:alpha:]</samp>’ and ‘<samp class="samp">[:digit:]</samp>’; in the ‘<samp class="samp">C</samp>’ locale and ASCII character encoding, this is the same as ‘<samp class="samp">[0-9A-Za-z]</samp>’. </p> </dd> -<dt>‘<samp class="samp">[:alpha:]</samp>’</dt> -<dd><a class="index-entry-id" id="index-alpha-character-class"></a> -<a class="index-entry-id" id="index-alphabetic-characters"></a> -<p>Alphabetic characters: +<dt><a class="index-entry-id" id="index-alphabetic-characters"></a> +<a id="index-alpha-character-class"></a><span>‘<samp class="samp">[:alpha:]</samp>’<a class="copiable-link" href="#index-alpha-character-class"> ¶</a></span></dt> +<dd><p>Alphabetic characters: ‘<samp class="samp">[:lower:]</samp>’ and ‘<samp class="samp">[:upper:]</samp>’; in the ‘<samp class="samp">C</samp>’ locale and ASCII character encoding, this is the same as ‘<samp class="samp">[A-Za-z]</samp>’. </p> </dd> -<dt>‘<samp class="samp">[:blank:]</samp>’</dt> -<dd><a class="index-entry-id" id="index-blank-character-class"></a> -<a class="index-entry-id" id="index-blank-characters"></a> -<p>Blank characters: +<dt><a class="index-entry-id" id="index-blank-characters"></a> +<a id="index-blank-character-class"></a><span>‘<samp class="samp">[:blank:]</samp>’<a class="copiable-link" href="#index-blank-character-class"> ¶</a></span></dt> +<dd><p>Blank characters: space and tab. </p> </dd> -<dt>‘<samp class="samp">[:cntrl:]</samp>’</dt> -<dd><a class="index-entry-id" id="index-cntrl-character-class"></a> -<a class="index-entry-id" id="index-control-characters"></a> -<p>Control characters. +<dt><a class="index-entry-id" id="index-control-characters"></a> +<a id="index-cntrl-character-class"></a><span>‘<samp class="samp">[:cntrl:]</samp>’<a class="copiable-link" href="#index-cntrl-character-class"> ¶</a></span></dt> +<dd><p>Control characters. In ASCII, these characters have octal codes 000 through 037, and 177 (DEL). In other character sets, these are the equivalent characters, if any. </p> </dd> -<dt>‘<samp class="samp">[:digit:]</samp>’</dt> -<dd><a class="index-entry-id" id="index-digit-character-class"></a> -<a class="index-entry-id" id="index-digit-characters"></a> +<dt><a class="index-entry-id" id="index-digit-characters"></a> <a class="index-entry-id" id="index-numeric-characters"></a> -<p>Digits: <code class="code">0 1 2 3 4 5 6 7 8 9</code>. +<a id="index-digit-character-class"></a><span>‘<samp class="samp">[:digit:]</samp>’<a class="copiable-link" href="#index-digit-character-class"> ¶</a></span></dt> +<dd><p>Digits: <code class="code">0 1 2 3 4 5 6 7 8 9</code>. </p> </dd> -<dt>‘<samp class="samp">[:graph:]</samp>’</dt> -<dd><a class="index-entry-id" id="index-graph-character-class"></a> -<a class="index-entry-id" id="index-graphic-characters"></a> -<p>Graphical characters: +<dt><a class="index-entry-id" id="index-graphic-characters"></a> +<a id="index-graph-character-class"></a><span>‘<samp class="samp">[:graph:]</samp>’<a class="copiable-link" href="#index-graph-character-class"> ¶</a></span></dt> +<dd><p>Graphical characters: ‘<samp class="samp">[:alnum:]</samp>’ and ‘<samp class="samp">[:punct:]</samp>’. </p> </dd> -<dt>‘<samp class="samp">[:lower:]</samp>’</dt> -<dd><a class="index-entry-id" id="index-lower-character-class"></a> -<a class="index-entry-id" id="index-lower_002dcase-letters"></a> -<p>Lower-case letters; in the ‘<samp class="samp">C</samp>’ locale and ASCII character +<dt><a class="index-entry-id" id="index-lower_002dcase-letters"></a> +<a id="index-lower-character-class"></a><span>‘<samp class="samp">[:lower:]</samp>’<a class="copiable-link" href="#index-lower-character-class"> ¶</a></span></dt> +<dd><p>Lower-case letters; in the ‘<samp class="samp">C</samp>’ locale and ASCII character encoding, this is <code class="code">a b c d e f g h i j k l m n o p q r s t u v w x y z</code>. </p> </dd> -<dt>‘<samp class="samp">[:print:]</samp>’</dt> -<dd><a class="index-entry-id" id="index-print-character-class"></a> -<a class="index-entry-id" id="index-printable-characters"></a> -<p>Printable characters: +<dt><a class="index-entry-id" id="index-printable-characters"></a> +<a id="index-print-character-class"></a><span>‘<samp class="samp">[:print:]</samp>’<a class="copiable-link" href="#index-print-character-class"> ¶</a></span></dt> +<dd><p>Printable characters: ‘<samp class="samp">[:alnum:]</samp>’, ‘<samp class="samp">[:punct:]</samp>’, and space. </p> </dd> -<dt>‘<samp class="samp">[:punct:]</samp>’</dt> -<dd><a class="index-entry-id" id="index-punct-character-class"></a> -<a class="index-entry-id" id="index-punctuation-characters"></a> -<p>Punctuation characters; in the ‘<samp class="samp">C</samp>’ locale and ASCII character +<dt><a class="index-entry-id" id="index-punctuation-characters"></a> +<a id="index-punct-character-class"></a><span>‘<samp class="samp">[:punct:]</samp>’<a class="copiable-link" href="#index-punct-character-class"> ¶</a></span></dt> +<dd><p>Punctuation characters; in the ‘<samp class="samp">C</samp>’ locale and ASCII character encoding, this is <code class="code">! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~</code>. </p> </dd> -<dt>‘<samp class="samp">[:space:]</samp>’</dt> -<dd><a class="index-entry-id" id="index-space-character-class"></a> -<a class="index-entry-id" id="index-space-characters"></a> +<dt><a class="index-entry-id" id="index-space-characters"></a> <a class="index-entry-id" id="index-whitespace-characters"></a> -<p>Space characters: in the ‘<samp class="samp">C</samp>’ locale, this is +<a id="index-space-character-class"></a><span>‘<samp class="samp">[:space:]</samp>’<a class="copiable-link" href="#index-space-character-class"> ¶</a></span></dt> +<dd><p>Space characters: in the ‘<samp class="samp">C</samp>’ locale, this is tab, newline, vertical tab, form feed, carriage return, and space. See <a class="xref" href="Usage.html">Usage</a>, for more discussion of matching newlines. </p> </dd> -<dt>‘<samp class="samp">[:upper:]</samp>’</dt> -<dd><a class="index-entry-id" id="index-upper-character-class"></a> -<a class="index-entry-id" id="index-upper_002dcase-letters"></a> -<p>Upper-case letters: in the ‘<samp class="samp">C</samp>’ locale and ASCII character +<dt><a class="index-entry-id" id="index-upper_002dcase-letters"></a> +<a id="index-upper-character-class"></a><span>‘<samp class="samp">[:upper:]</samp>’<a class="copiable-link" href="#index-upper-character-class"> ¶</a></span></dt> +<dd><p>Upper-case letters: in the ‘<samp class="samp">C</samp>’ locale and ASCII character encoding, this is <code class="code">A B C D E F G H I J K L M N O P Q R S T U V W X Y Z</code>. </p> </dd> -<dt>‘<samp class="samp">[:xdigit:]</samp>’</dt> -<dd><a class="index-entry-id" id="index-xdigit-character-class"></a> -<a class="index-entry-id" id="index-xdigit-class"></a> +<dt><a class="index-entry-id" id="index-xdigit-class"></a> <a class="index-entry-id" id="index-hexadecimal-digits"></a> -<p>Hexadecimal digits: +<a id="index-xdigit-character-class"></a><span>‘<samp class="samp">[:xdigit:]</samp>’<a class="copiable-link" href="#index-xdigit-character-class"> ¶</a></span></dt> +<dd><p>Hexadecimal digits: <code class="code">0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f</code>. </p> </dd>
