正規表示式(regular expression)描述了一種字串匹配的模式(pattern),可以用來檢查乙個串是否含有某種子串、將匹配的子串替換或者從某個串中取出符合某個條件的子串等。
正規表示式中的字元字元
描述\f
匹配乙個換頁符。等價於 \x0c 和 \cl。
\n匹配乙個換行符。等價於 \x0a 和 \cj。
\r匹配乙個回車符。等價於 \x0d 和 \cm。
\s匹配任何空白字元,包括空格、製表符、換頁符等等。等價於 [ \f\n\r\t\v]。。
\s匹配任何非空白字元。等價於 [^ \f\n\r\t\v]。
\d匹配乙個數字。等價於[0-9]。
\d匹配乙個非數字字元。等價於[^0-9]。
\w匹配乙個單字字元(字母、數字或者下劃線)等價於[a-za-z0-9_]。
\w匹配乙個非單字字元。等價於[^a-za-z0-9_]。
\t匹配乙個製表符。等價於 \x09 和 \ci。
\v匹配乙個垂直製表符。等價於 \x0b 和 \ck。
$匹配輸入字串的結尾位置。如果設定了 regexp 物件的 multiline 屬性,則 $ 也匹配 『\n』 或 『\r』。要匹配 $ 字元本身,請使用 $。
( )標記乙個子表示式的開始和結束位置。子表示式可以獲取供以後使用。要匹配這些字元,請使用 ( 和 )。
*匹配前面的子表示式零次或多次。要匹配 * 字元,請使用 *。
+匹配前面的子表示式一次或多次。要匹配 + 字元,請使用 +。
.匹配除換行符 \n 之外的任何單字元。要匹配 . ,請使用 . 。
[標記乙個中括號表示式的開始。要匹配 [,請使用 [。
?匹配前面的子表示式零次或一次,或指明乙個非貪婪限定符。要匹配 ? 字元,請使用 ?。
\將下乙個字元標記為或特殊字元、或原義字元、或向後引用、或八進位制轉義符。
^匹配輸入字串的開始位置,除非在方括號表示式中使用,此時它表示不接受該字元集合。要匹配 ^ 字元本身,請使用 ^。
n 是乙個非負整數。匹配確定的 n 次。例如,『o』 不能匹配 「bob」 中的 『o』,但是能匹配 「food」 中的兩個 o。
n 是乙個非負整數。至少匹配n 次。例如,『o』 不能匹配 「bob」 中的 『o』,但能匹配 「foooood」 中的所有 o。『o』 等價於 『o+』。『o』 則等價於 『o*』。
m 和 n 均為非負整數,其中n <= m。最少匹配 n 次且最多匹配 m 次。例如,「o」 將匹配 「fooooood」 中的前三個 o。『o』 等價於 『o?』。請注意在逗號和兩個數之間不能有空格。
方法描述
exec
乙個在字串中執行查詢匹配的regexp方法,它返回乙個陣列(未匹配到則返回null)。
test
乙個在字串中測試是否匹配的regexp方法,它返回true或false。
match
乙個在字串中執行查詢匹配的string方法,它返回乙個陣列或者在未匹配到時返回null。
search
乙個在字串中測試匹配的string方法,它返回匹配到的位置索引,或者在失敗時返回-1。
replace
乙個在字串中執行查詢匹配的string方法,並且使用替換字串替換掉匹配到的子字串。
split
乙個使用正規表示式或者乙個固定字串分隔乙個字串,並將分隔後的子字串儲存到陣列中的string方法。
當你想要知道在乙個字串中的乙個匹配是否被找到,你可以使用test或search方法;想得到更多的資訊(但是比較慢)則可以使用exec或match方法。
簡述MySQL 正規表示式
我們已經了解到mysql可以通過 like 來進行模糊匹配。mysql 同樣也支援其他正規表示式的匹配,mysql中使用 regexp 操作符來進行正規表示式匹配。如果您了解php或perl,那麼操作起來就非常簡單,因為mysql的正規表示式匹配與這些指令碼的類似。下表中的正則模式可應用於 rege...
正規表示式字元
正規表示式符號 字元 描述 標記下乙個字元是特殊字元或文字。例如,n 和字元 n 匹配。n 則和換行字元匹配。序列 和 匹配,而 則和 匹配。匹配輸入的開頭。匹配輸入的末尾。匹配前乙個字元零或多次。例如,zo 與 z 或 zoo 匹配。匹配前乙個字元一次或多次。例如,zo 與 zoo 匹配,但和 z...
正規表示式相關 正規表示式字元描述
1 字元描述 將下乙個字元標記為特殊字元或字面值。例如 n 與字元 n 匹 配。n 與換行符匹配。序列 與 匹配,與 匹配。匹配輸入的開始位置。匹配輸入的結尾。匹配前乙個字元零次或幾次。例如,zo 可以匹配 z zoo 匹配前乙個字元一次或多次。例如,zo 可以匹配 zoo 但不匹配 z 匹配前乙個...