如果在”[]”中出現(xiàn)了”^”,代表本表達式不匹配”[]”內出現(xiàn)的字符,比如”/[^a-z]/”不匹配任何小寫字母!并且正則表達式給出了幾種”[]”的默認值,如下:
‘[:alnum:]’ 匹配任何字母
Alphanumeric characters: ‘[:alpha:]’ and ‘[:digit:]’.
‘[:alpha:]’ 匹配任何字母和數(shù)字
Alphabetic characters: ‘[:lower:]’ and ‘[:upper:]’.
‘[:blank:]’
Blank characters: space and tab.
‘[:cntrl:]’
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.
‘[:digit:]’ 匹配任何數(shù)字
Digits: ‘0 1 2 3 4 5 6 7 8 9’.
‘[:graph:]’
Graphical characters: ‘[:alnum:]’ and ‘[:punct:]’.
‘[:lower:]’ 匹配任何小寫字母
Lower-case letters: ‘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’.
‘[:print:]’
Printable characters: ‘[:alnum:]’, ‘[:punct:]’, and space.
‘[:punct:]’ 匹配任何標點符號
Punctuation characters: ‘! ” # $ % & ‘ ( ) * + , – . / : ; < = > ? @ [ ] ^ _ ‘ { | } ~’.
‘[:space:]’ 匹配空格符
Space characters: tab, newline, vertical tab, form feed, carriage
return, and space.
‘[:upper:]’ 匹配任何大寫字母
Upper-case letters: ‘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’.
‘[:xdigit:]’ 匹配任何16進制數(shù)字
Hexadecimal digits: ‘0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f’.
For example, ‘[[:alnum:]]’ means ‘[0-9A-Za-z]’, except the latter depends upon the ‘C’ locale and the ASCII character encoding, whereas the former is independent of locale and character set. (Note that the brackets in these class names are part of the symbolic names, and must
be included in addition to the brackets delimiting the bracket expression.)
[$]方括號內包含的是一個匹配字符范圍,前面加上^,即是代表不匹配指定的字符范圍。
$ereg代表的是一個變量,即$是變量的標志,這個式子的整體意思就是:
ereg代表的是一個具有以字母開頭第二個是字母或數(shù)字的所有字符串。
例子: