PHP 正則表達(dá)式特殊字符 [:alnum:] [:alpha:] 等
更新時(shí)間:2011年09月13日 11:28:41 作者:
正則表達(dá)式中有兩個(gè)很重要的特殊字符就是"[ ]"。他們可以匹配"[]"之中出現(xiàn)過的字符,比如"/[az]/"可以匹配單個(gè)字符"a"或者"z";如果把上面的表達(dá)式改成這樣"/[a-z]/",就可以匹配任何單個(gè)小寫字母,比如"a"、"b"等等。
如果在"[]"中出現(xiàn)了"^",代表本表達(dá)式不匹配"[]"內(nèi)出現(xiàn)的字符,比如"/[^a-z]/"不匹配任何小寫字母!并且正則表達(dá)式給出了幾種"[]"的默認(rèn)值,如下:
'[: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:]' 匹配任何標(biāo)點(diǎn)符號(hào)
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進(jìn)制數(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.)
[$]方括號(hào)內(nèi)包含的是一個(gè)匹配字符范圍,前面加上^,即是代表不匹配指定的字符范圍。
$ereg代表的是一個(gè)變量,即$是變量的標(biāo)志,這個(gè)式子的整體意思就是:
ereg代表的是一個(gè)具有以字母開頭第二個(gè)是字母或數(shù)字的所有字符串。
例子:
'[: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:]' 匹配任何標(biāo)點(diǎn)符號(hào)
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進(jìn)制數(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.)
[$]方括號(hào)內(nèi)包含的是一個(gè)匹配字符范圍,前面加上^,即是代表不匹配指定的字符范圍。
$ereg代表的是一個(gè)變量,即$是變量的標(biāo)志,這個(gè)式子的整體意思就是:
ereg代表的是一個(gè)具有以字母開頭第二個(gè)是字母或數(shù)字的所有字符串。
例子:
復(fù)制代碼 代碼如下:
preg_replace("/([[:alnum:]]|[[:space:]]|[[:punct:]])+/U", '', $string);
相關(guān)文章
SQL正則表達(dá)式錯(cuò)誤 “parentheses not balanced“ 問題
在實(shí)際開發(fā)中,數(shù)據(jù)庫查詢經(jīng)常需要使用正則表達(dá)式(REGEXP)來篩選復(fù)雜條件下的數(shù)據(jù),然而,一些開發(fā)者在操作中可能會(huì)遇到類似以下錯(cuò)誤parentheses not balanced,所以本文給大家介紹了SQL正則表達(dá)式錯(cuò)誤 “parentheses not balanced“ 問題的排查和解決方案2024-12-12
asp.net(c#) 使用Rex正則來生成字符串?dāng)?shù)組的代碼
我們?cè)陧?xiàng)目中,經(jīng)常要使用正則表達(dá)式,現(xiàn)在有一個(gè)工具可以按正則表達(dá)式生成數(shù)據(jù).正則表達(dá)式的語法忘記了嗎?2010-05-05
js正則表達(dá)式講解之index屬性(RegExp對(duì)象)
index與search返回的值相同,不管是是否匹配到合適內(nèi)容,如果找到合適內(nèi)容則index為匹配內(nèi)容其實(shí)字符的起始位置,如果沒有找到則返回-12012-10-10

