如果在"[]"中出現了"^",代表本運算式不匹配"[]"內出現的字元,比如"/[^a-z]/"不匹配任何小寫字母!並且Regex給出了幾種"[]"的預設值,如下:
'[:alnum:]' 匹配任何字母
Alphanumeric characters: '[:alpha:]' and '[:digit:]'.
'[:alpha:]' 匹配任何字母和數字
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:]' 匹配任何數字
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進位數字
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代表的是一個具有以字母開頭第二個是字母或數位所有字串。
例子: 複製代碼 代碼如下:preg_replace("/([[:alnum:]]|[[:space:]]|[[:punct:]])+/U", '', $string);