神奇的字符模式:知道這20個(gè)正則表達(dá)式,能讓你少寫1,000行代碼
在編程的世界中,有一種神奇的字符模式可以幫助我們高效地處理文本——那就是正則表達(dá)式。它就像一個(gè)迷你的語(yǔ)言,能夠編寫強(qiáng)大而復(fù)雜的模式,以完成各種文本操作。
今天,我將與你分享20個(gè)常用的正則表達(dá)式,它們可能讓你少寫1,000行代碼。
1. 檢測(cè)郵箱
要驗(yàn)證一個(gè)字符串是否為有效的郵箱地址,可以使用以下正則表達(dá)式:
b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b
2. 檢測(cè)手機(jī)號(hào)
對(duì)于手機(jī)號(hào)的驗(yàn)證,這個(gè)正則表達(dá)式可能有所幫助:
^(\+?\d{1,4}[\s-])?(?!0+\s+,?$)\d{10}\s*,?$
3. 檢測(cè)URL
下面的正則表達(dá)式可以用來(lái)匹配有效的URL:
^http[s]?://[^\s]*$
4. 檢測(cè)IP地址
這個(gè)正則表達(dá)式能幫助我們驗(yàn)證一個(gè)字符串是否為有效的IP地址:
^(\d{1,3}\.){3}\d{1,3}$
5. 移除行尾空白
想要?jiǎng)h除一行文本末尾的空白字符,這個(gè)正則表達(dá)式將是有用的工具:
\s+$
6. 提取所有鏈接
要從一段文本中提取所有的鏈接,以下正則表達(dá)式可能派上用場(chǎng):
http[s]?://[^\s]*$
7. 提取圖片文件鏈接
這個(gè)正則表達(dá)式能從文本中提取所有.jpg或.png格式的圖片文件鏈接:
(http(s?):)([/|.|\w|\s|-])*\.(?:jpg|gif|png)
8. 匹配數(shù)字
要匹配字符串中的所有數(shù)字,可以使用以下正則表達(dá)式:
\d+
如果你想匹配所有非數(shù)字字符,這個(gè)正則表達(dá)式可能有所幫助:
\D+
10. 匹配單詞
下面的正則表達(dá)式可以用來(lái)匹配單詞:
\b[A-Za-z]+\b
11. 檢測(cè)信用卡號(hào)
這個(gè)正則表達(dá)式能幫助我們驗(yàn)證一個(gè)字符串是否為有效的信用卡號(hào):
^(?:4[0-9]{12}(?:[0-9]{3})? ? ? ? ? # Visa
| 5[1-5][0-9]{14} ? ? ? ? ? ? ? ? # MasterCard
| 3[47][0-9]{13} ? ? ? ? ? ? ? ? ? # American Express
| 3(?:0[0-5]|[68][0-9])[0-9]{11} ? # Diners Club
| 6(?:011|5[0-9]{2})[0-9]{12} ? # Discover
| (?:2131|1800|35\d{3})\d{11} ? # JCB
)$
12. 匹配HTML標(biāo)簽
以下正則表達(dá)式可以用來(lái)匹配HTML標(biāo)簽:
<[^>]+>
13. 匹配日期
這個(gè)正則表達(dá)式能幫助我們驗(yàn)證一個(gè)字符串是否為有效的日期格式(例如:2021-09-21):
^\d{4}-\d{2}-\d{2}$
14. 檢測(cè)十六進(jìn)制顏色
這個(gè)正則表達(dá)式可以用來(lái)驗(yàn)證字符串是否為有效的十六進(jìn)制顏色代碼:
^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
15. 提取所有電子郵件地址
下面的正則表達(dá)式可以用來(lái)從一段文本中提取所有的電子郵件地址:
\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b
16. 匹配特殊字符
如果你想匹配所有特殊字符,可以使用以下正則表達(dá)式:
\W+
17. 匹配空行
這個(gè)正則表達(dá)式能夠幫助我們找到文本中的所有空行:
\n\r?(\s*\n\r?)+
18. 提取所有哈希標(biāo)簽
以下正則表達(dá)式可以用來(lái)從文本中提取所有的哈希標(biāo)簽:
\#\w+
19. 匹配社保號(hào)碼
這個(gè)正則表達(dá)式能幫助我們驗(yàn)證一個(gè)字符串是否為有效的社保號(hào)碼(例如:123-45-6789):
^\d{3}-\d{2}-\d{4}$
20. 提取所有@用戶名
下面的正則表達(dá)式可以用來(lái)從文本中提取所有的@用戶名:
@\w+
這20個(gè)正則表達(dá)式,就像是一個(gè)工具箱,能幫助我們高效地處理各種文本問(wèn)題。雖然正則表達(dá)式看起來(lái)可能有點(diǎn)復(fù)雜,但只要掌握了基本的語(yǔ)法,就能輕松地編寫出各種強(qiáng)大的模式。
我希望這些正則表達(dá)式能夠?yàn)槟銕?lái)幫助,讓你的編程之旅更加愉快。