相反有正面教材那肯定會有反面教材,而反義通常單字母大小寫區分,比如上面的反義如下:
\w 匹配任意不是字母、數字和下劃線的字元,等價於』[∧a-za-z0-9_]
\s 匹配任意不是空白符的字元。等價於?[∧\f\n\r\t\v]
\d 匹配任意非數字的字元,等價於[∧0-9]
\b 匹配不是單詞開頭或結束的位置
[∧x] 匹配除了x以外的任意字元
[∧asdfg] 匹配除了asdfg這幾個字母以外的任意字元
[∧a-z] 匹配除了小寫字母以外的任意字元
通常理解為大小寫區分正反義,在中括號中,特殊**不會被解釋其他意義,在括號中加號是除了的意思,通俗的理解在中括號中,沒有號的把裡面的都匹配出來,有^號的除了裡面之外的給匹配出來。
^號是匹配字串的開始,$號是匹配字串的結束。
基礎語法重複也佔重要部分,有好幾種:
1、* 重複零次或更多次,等價於
2、+ 重複一次或更多次,等價於
3、? 重複零次或一次,等價於?
4、 重複n次
5、 重複n次或更多次
6、 重複n到m次
基礎語法中,貪婪與懶惰與位置指定和負向位置指定最為重要,一般匹配一些長字串需要這兩種方法比較多。
正規表示式預設是貪婪型的,通常的行為是匹配盡可能多的字元,?? 我們更需要懶惰匹配,也就是匹配盡可能少的字元。
前面給出的重複元字元都可以被轉化為懶惰匹配模式,只要在它後面加 上乙個問號 ?
1、*? 重複任意次,但盡可能少重複
2、+? 重複1次或更多次,但盡可能少重複
3、?? 重複0次或1次,但盡可能少重複
4、? 重複n到m次,但盡可能少重複
5、? 重複n次以上,但盡可能少重複
而在位置指定和負向位置指定它能具體將某個具體位置給匹配出來快速的將字串找出來,相比,單個匹配的要慢很多:
1、(?=exp):零寬先行斷言,它匹配文字中的某些位置,這些位置的後面能匹配給定的字尾exp。??
2、(?<=exp):零寬後行斷言,它匹配文字中的某些位置,這些位置的前面能給定的字首匹配exp。?
3、(?!exp):零寬負向先行斷言,只會匹配字尾exp不存在的位置。
4、(?在專案中,通常可以用正規表示式替換多餘內容,匹配出檔名稱等等如下:
在專案當中,隨時會運用正規表示式找對應的**,正是如此,學習相關知識打好穩固的基礎。所以我覺得,想要寫簡單的字串必須了解正規表示式各種用法,結合整體找到最容易的做法。使得在專案中簡單的去完成相應的問題。
正規表示式應用
d 非負整數 正整數 0 0 9 1 9 0 9 正整數 d 0 非正整數 負整數 0 0 9 1 9 0 9 負整數 d 整數 d 非負浮點數 正浮點數 0 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 正浮點數 d 非正浮點數 負浮點數 0 0 9 0 ...
正規表示式(應用)
在此頁面寫正規表示式,可以提供參考,和進行校驗 應用於前端 匹配任意長度的大小寫字母與數字 a za z0 9 匹配任意長度且不為空的大小寫字母與數字 a za z0 9 匹配長度小於20且不為空的大小寫字母與數字 a za z0 9 匹配長度小於20且不為空的大小寫字母與數字與漢字 a za z0...
正規表示式 應用
生成正規表示式 https http ftp rtsp mms s 分析 如果沒有在 裡面的時候,代表以什麼開頭 如果在 裡面的時候,代表除了 之外 https http ftp rtsp mms 代表乙個分組 進行分組的時候,findall方法只返回分組裡面的內容 print re.findall...