mysql
中使用regexp
操作符來進行正規表示式匹配。下表中的正則模式可應用於regexp
操作符中。
模式描述
^匹配輸入字串的開始位置。如果設定了regexp
物件的multiline
屬性,^
也匹配'\n'
或'\r'
之後的位置。
$匹配輸入字串的結束位置。如果設定了regexp
物件的multiline
屬性,$
也匹配'\n'
或'\r'
之前的位置。
.匹配除"\n"
之外的任何單個字元。要匹配包括'\n'
在內的任何字元,請使用象'[.\n]'
的模式。
[…]字元集合。匹配所包含的任意乙個字元。例如,'[abc]'
可以匹配"plain"
中的'a'
。
[^…]
負值字元集合。匹配未包含的任意字元。例如,'[^abc]'
可以匹配"plain"
中的'p'
。
p1|p2|p3
匹配p1
或p2
或p3
。例如,'z|food'
能匹配"z"
或"food"
。'(z|f)ood'
則匹配"zood"
或"food"
。
*匹配前面的子表示式零次或多次。例如,zo*
能匹配"z"
以及"zoo"
。*
等價於。
+匹配前面的子表示式一次或多次。例如,'zo+'
能匹配"zo"
以及"zoo"
,但不能匹配"z"
。+
等價於。
n
是乙個非負整數。匹配確定的n
次。例如,'o'
不能匹配"bob"
中的'o'
,但是能匹配"food"
中的兩個o
。
m
和n
均為非負整數,其中n <= m
。最少匹配n
次且最多匹配m
次。
示例:
# 查詢 name 欄位中以 st 開頭的所有資料
select name from users where name regexp
'^st'
;# 查詢 name 欄位中所有已 ok 結尾的所有資料
select name from users where name regexp
'ok$'
;# 查詢 name 欄位中所有包含 mar 字串的所有資料
select name from users where name regexp
'mar'
;# 查詢 name 欄位中以母音字元開頭或以 ok 字串結尾的所有資料
select name from users where name regexp
'^[aeiou]|ok$'
;
9 正規表示式
思路 使用兩個變數指示兩個不同的string 先檢查元素是否相等,是否為特殊字元 與.之後使用迴圈設定在碰到上述兩字元之後開始迴圈檢測 我理解錯了正規表示式中.的用法!是任意匹配乙個字元,而不是匹配前面的乙個字元!字元匹配乙個任意的字元 字元匹配前面0個或者多個字元 可以匹配0個一定要記好 但是吧,...
正規表示式 正規表示式 總結
非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...
正規表示式 表示式
網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...