- MariaDB必知必會
- (美)Ben Forta
- 388字
- 2020-10-30 18:17:44
9.2.3 匹配多個字符中的一個
“.”匹配任何單個字符,但如果你想要匹配特定的字符怎么辦?你可以指定用“[”和“]”括起來的字符集,如下:
▼ 輸入

▼ 輸出

▼ 分析
這里使用了正則表達式“[123]Ton”?!癧123]”定義了一個字符集。這里它的意思是匹配1、2或者3,因此“1ton”和“2ton”都匹配并且被返回(這里沒有“3ton”)。
如你所見,“[]”是另一種形式的OR語句,實際上,正則表達式“[123]Ton”是“[1|2|3]Ton”的縮寫,后者具有前者同樣的功能。然而“[]”字符必須定義OR語句搜索的內容。為了更好地理解,看下面的例子:
▼ 輸入

▼ 輸出

▼ 分析
呃,這里出現問題。需要的兩行被檢索到,然而還有多余的其他3行。這是因為MariaDB認為你的意思是'1'或者'2'或者'3ton'。字符“|”應用于整個字符串,除非它被括起來作為集合。
集合也可以取否定,即它們會匹配任何非指定的字符。為了否定字符集,在集合的開頭使用“^”,因此,[123]匹配字符1、2或者3,[^123]匹配任何除了這些字符的字符。
推薦閱讀
- HTML5+CSS3+JavaScript從入門到精通:上冊(微課精編版·第2版)
- Instant Testing with CasperJS
- R語言數據分析從入門到精通
- Fundamentals of Linux
- OpenCV 3和Qt5計算機視覺應用開發
- MATLAB 2020 從入門到精通
- 精通Linux(第2版)
- Scala程序員面試算法寶典
- Protocol-Oriented Programming with Swift
- Python機器學習算法: 原理、實現與案例
- Red Hat Enterprise Linux Troubleshooting Guide
- FPGA嵌入式項目開發實戰
- 零基礎學Scratch 3.0編程
- Mastering SciPy
- Spark技術內幕:深入解析Spark內核架構設計與實現原理