python正則表達式特殊符號有哪些
python正則
python正則是處理字符串的強大工具
上一次很多朋友寫文字屏蔽說到要用正則表達,其實不是我不想用(我正則用得不是很多,看過我之前爬蟲的都知道,我直接用BeautifulSoup的網(wǎng)頁標簽去找內(nèi)容,因為容易理解也方便),而是正則用好用精通的很難(看過正則表的應(yīng)該都知道,里面符號對應(yīng)的方法規(guī)則有很多,很靈活)。對于接觸編程不久的朋友們來說很可能在編程的過程上浪費很多時間,今天我把經(jīng)常會用到正則簡單介紹下,如果不是很特殊基本都覆蓋使用。
正則表達式并不是Python的一部分。正則表達式是用于處理字符串的強大工具,擁有自己獨特的語法以及一個獨立的處理引擎,效率上可能不如str自帶的方法,但功能十分強大。得益于這一點,在提供了正則表達式的語言里,正則表達式的語法都是一樣的,區(qū)別只在于不同的編程語言實現(xiàn)支持的語法數(shù)量不同;但不用擔心,不被支持的語法通常是不常用的部分。如果已經(jīng)在其他語言里使用過正則表達式,只需要簡單看一看就可以上手了。
正則表達式(Regular expressions REs或regexes或regex patterns)本質(zhì)是小的且高度專業(yè)化的編程語言。它嵌入到 Python 中,調(diào)用使用re模塊。需要制定一些規(guī)則來描述那些你希望匹配的字符串集合。這些字符串集合可能包含英語句子、e-mail地址、TeX 命令,或任何你想要的東東。然后可以提出問題,例如“字符串是否匹配該模式?”或“模式是否匹配字符串?”。 新網(wǎng)認為您還可以使用RE修改字符串或以各種方式拆分它。
正則表達式模式被編譯成字節(jié)碼,然后由 C 語言寫的匹配引擎執(zhí)行。對于高級的使用,你可能需要關(guān)注匹配引擎是如何執(zhí)行給定RE,并通過一定的方式來編寫RE,以便產(chǎn)生運行得更快的字節(jié)碼。
新網(wǎng)提醒大家,正則表達式語言小而嚴格,不是所有的字符處理都可以使用正則表達式。還有一些任務(wù),可以使用正則表達式來完成,但是表達式非常復雜。在這種情況下編寫 Python 代碼來處理會更好些;盡管 Python 代碼比精巧的正則表達式執(zhí)行起來會慢一些,但可能會更容易理解。
點號(.)-匹配除換行符\n外的任意單個字符。
示例:a.o—匹配字母a和o且二者中間為任意單字符的字符串,如axo,a!o。
指數(shù)號(^)-匹配以指定字符開頭的字符串。
示例:^start—匹配以start開頭的字符串。
美元符($)-匹配以指定字符結(jié)尾的字符串。
示例:/aa/bb$—匹配以"/aa/bb"為結(jié)尾的字符串。
匹配元字符須使用轉(zhuǎn)義符(\)。
如果想要匹配的字符是正則表達式中的特殊字符,那么就需要加上轉(zhuǎn)義符(\),示例:
匹配$結(jié)尾的字符串—\$$。
一個問題:以aa開頭且以bb$結(jié)尾的正則表達式怎么寫?
正則表達式的形式就是一種匹配模式,也就是正則表達式模式,其他符號的正則表達式。
<div>
聲明:免責聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認相關(guān)法律責任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請發(fā)
送郵件至:operations@xinnet.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時
需注明出處:新網(wǎng)idc知識百科