超碰人人人人人,亚洲AV午夜福利精品一区二区,亚洲欧美综合区丁香五月1区,日韩欧美亚洲系列

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

SQL匹配和處理字符串的強(qiáng)大工具:正則表達(dá)式

admin
2024年9月4日 10:22 本文熱度 1646
01

什么是正則表達(dá)式?有何作用?

正則表達(dá)式(Regular Expressions, 簡(jiǎn)稱(chēng) regex 或 regexp)是一種用于匹配和處理字符串的強(qiáng)大工具。它就像是一把多功能的瑞士軍刀,可以幫助你在處理文本時(shí)做很多事情:

1.檢查用戶(hù)輸入是否符合特定格式:比如,你在網(wǎng)上注冊(cè)賬號(hào)時(shí),網(wǎng)站會(huì)要求你輸入電子郵件地址。正則表達(dá)式可以檢查你輸入的是不是一個(gè)看起來(lái)像真的電子郵件地址,比如檢查是否包含@符號(hào),后面有沒(méi)有域名等。

2.在文本中查找符合特定模式的字符串:假如你有一大堆文本,想找出里面所有的電話(huà)號(hào)碼或者郵箱地址,正則表達(dá)式就能幫你快速找到這些信息,就像用篩子篩東西一樣,把符合規(guī)則的部分篩選出來(lái)。

3.替換文本中符合特定模式的字符串:比如,你寫(xiě)了一篇文章,想把所有的“你好”改成“大家好”,正則表達(dá)式就能幫你找到所有的“你好”,然后統(tǒng)一替換成“大家好”。

4.分割字符串:如果你有一個(gè)長(zhǎng)字符串,里面包含了很多信息,比如一個(gè)字符串是“姓名:張三,年齡:25,職業(yè):程序員”,你可以用正則表達(dá)式來(lái)把這個(gè)字符串分割成姓名、年齡和職業(yè)三部分,方便你處理。


02

正則表達(dá)式的基本構(gòu)成 

1.字面字符:直接匹配文本中的字符。例如,abc 匹配 abc。

2.特殊字符:

    • .:匹配任何單個(gè)字符(除換行符外)。
    • ^:匹配字符串的開(kāi)頭。    
    • $:匹配字符串的結(jié)尾。
    • \:轉(zhuǎn)義字符,用于匹配特殊字符。例如,\. 匹配實(shí)際的句點(diǎn)字符。

3.字符類(lèi)

    • []:定義字符集合。例如,[abc] 匹配 a、b 或 c。
    • [^]:定義字符排除集合。例如,[^0-9] 匹配非數(shù)字字符。
    • -:用于定義字符范圍。例如,[a-z] 匹配小寫(xiě)字母。

4.量詞:

    • *:匹配前面的字符零次或多次。例如,a* 匹配零個(gè)或多個(gè) a。

    • +:匹配前面的字符一次或多次。例如,a+ 匹配一個(gè)或多個(gè) a。

    • ?:匹配前面的字符零次或一次。例如,a? 匹配零個(gè)或一個(gè) a。

    • {n}:匹配前面的字符恰好 n 次。例如,a{3} 匹配三個(gè) a。

    • {n,}:匹配前面的字符至少 n 次。例如,a{2,} 匹配兩個(gè)或更多 a。

    • {n,m}:匹配前面的字符至少 n 次,但不超過(guò) m 次。例如,a{2,4} 匹配兩個(gè)到四個(gè) a。

5.預(yù)定義字符集:

    • \d:匹配任何數(shù)字字符,相當(dāng)于 [0-9]。

    • \D:匹配任何非數(shù)字字符,相當(dāng)于 [^0-9]。

    • \w:匹配任何字母數(shù)字字符和下劃線(xiàn),相當(dāng)于 [a-zA-Z0-9_]。

    • \W:匹配任何非字母數(shù)字字符和下劃線(xiàn),相當(dāng)于 [^a-zA-Z0-9_]。    

    • \s:匹配任何空白字符(包括空格、制表符、換行符)。

    • \S:匹配任何非空白字符。

6.分組和捕獲:

    • ():用于分組和捕獲匹配的子字符串。例如,(abc)+ 匹配一個(gè)或多個(gè) abc。
    • (?:):用于分組但不捕獲。例如,(?:abc)+ 匹配一個(gè)或多個(gè) abc,但不捕獲。

7.替代:

    • |:表示“或”操作。例如,a|b 匹配 a 或 b。

8.斷言:

    • (?=...):正向前瞻,匹配當(dāng)前位置后面跟著的模式。例如,a(?=b) 匹配 a,當(dāng) a 后面跟著 b 時(shí)。
    • (?!...):負(fù)向前瞻,匹配當(dāng)前位置后面不跟著的模式。例如,a(?!b) 匹配 a,當(dāng) a 后面不跟著 b 時(shí)。


更詳細(xì)的參考文檔如下:  

遇到需要正則表達(dá)式匹配的問(wèn)題時(shí)可以參考。當(dāng)然,現(xiàn)在更方便的方式是帶著問(wèn)題去問(wèn)chatGPT。

PostgreSQL

PostgreSQL 9.3 文檔: 模式匹配 - Redrock Postgres (rockdata.net):https://www.rockdata.net/zh-cn/docs/9.3/functions-matching.html#FUNCTIONS-LIKE

MySQL:  

MySQL 正則表達(dá)式 | 菜鳥(niǎo)教程 (runoob.com):https://www.runoob.com/mysql/mysql-regexp.html

Python:  

Python 正則表達(dá)式 | 菜鳥(niǎo)教程 (it028.com):http://it028.com/python-reg-expressions.html

正則表達(dá)式指南 — Python 3.12.5 文檔:https://docs.python.org/zh-cn/3.12/howto/regex.html


03

正則表達(dá)式的使用示例(適用于PostgreSQL)

1.基本匹配

SELECT regexp_matches('The quick brown fox', 'quick');
-- 結(jié)果: {quick}

解釋?zhuān)浩ヅ渥址械谝淮纬霈F(xiàn)的 quick。

2.字符類(lèi)

SELECT regexp_matches('abc 123', '[a-z]+');
-- 結(jié)果: {abc}

解釋?zhuān)浩ヅ溥B續(xù)的小寫(xiě)字母字符。

3.量詞

SELECT regexp_matches('aaabb', 'a{2,4}');
-- 結(jié)果: {aaaa}

解釋?zhuān)浩ヅ?2 到 4 個(gè)連續(xù)的 a。

4.捕獲組    

SELECT regexp_matches('2024-08-28', '(\d{4})-(\d{2})-(\d{2})');
-- 結(jié)果: {2024, 08, 28}

解釋?zhuān)翰东@年、月、日。

5.前瞻

SELECT regexp_matches('123abc456', '\d+(?=abc)');
-- 結(jié)果: {123}

解釋?zhuān)浩ヅ?123,當(dāng)它后面跟著 abc 時(shí)。

正則表達(dá)式是處理和操作文本的強(qiáng)大工具,通過(guò)定義復(fù)雜的匹配模式,能夠高效地完成各種文本處理任務(wù)。掌握正則表達(dá)式的基本語(yǔ)法和功能,將大大提升文本數(shù)據(jù)處理的能力。

該文章在 2024/9/4 11:47:23 編輯過(guò)
關(guān)鍵字查詢(xún)
相關(guān)文章
正在查詢(xún)...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專(zhuān)業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車(chē)隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類(lèi)企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷(xiāo)售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶(hù)的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved