日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

《精通正则表达式》读书笔记(1)

發布時間:2025/7/14 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《精通正则表达式》读书笔记(1) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

聲明:筆記僅供參考,不足之處請見諒。

?

正則表達式能解決什么實際問題?

正則表達式能給你帶來超乎你之前想象的文本處理能力。如常見的簡單文本替換或查找,雖然普通編輯器的替換或查找能滿足一般的需求了,但是如果要處理稍微復雜點的替換或查找操作,那么也許你必須手動處理了。(如替換或查找文本中的所有Email地址)。

一旦掌握了正則表達式,你就會知道它簡直是無價之寶,也難以想象如果沒有它,這日子該怎么過呢?

正則表達式很神奇,所以很難嗎?

如 果沒有相關魔術表演的知識,一定覺得魔術真的很神奇;就像對待外語一樣,一旦以掌握了它,它不再是天書了。那么正則表達式也是如此,如果你沒有正則表達式 相關經驗,可能看不懂任何相關正則表達式的意義,但是如果你掌握了它,那情況就不一樣了,只要練熟之后,你也可以變魔術了。

以操作系統上的搜索做類比

相信大家都用過自己所用系統上的搜索來尋找文件吧,如果你沒用過并不代表你不需要哦,只是時機未到罷了。

相 信絕大多數朋友都是Windows的粉絲,那么該操作系統上啟動搜索的快捷鍵是Win+F,正如一般軟件啟動搜索對話框的快捷鍵是ctrl+F,只不過針 對系統的ctrl是Win鍵而已。在操作系統的搜索使用中就有類似正則表達式的蹤影,比如輸入*.txt,則表示搜索的是以.txt結尾的文件/文件夾, 此處*是一個特殊字符,代表任意文本,類似的還有?問好,代表任意的單個字符。通過這兩個字符,搜索文件的能力大大增強了,但這絕對不是正則表達式,想比 正則表達式,這里的搜索的能力還是很有限的。

正是應這種需求,一種“通用的模式語言”發展了起來,這種功能強大的模式語言和模式本身被稱為“正則表達式”(Regular Expression)

以語言作類比

完整的正則表達式由兩種字符構成:特殊字符(稱為“元字符”,如操作系統中搜索時使用的*,?這種匹配符號,正則表達式的元字符提供了更強大的描述能力)和普通文本字符(就是其他的文字)。

?

一些元字符等的記錄:

完整的正則表達式由兩種字符構成:特殊字符(元字符)和普通字符(文字)

正則表達式結構體[...],即字符組/集,一個字符組智能匹配且必須匹配單個字符,字符組內部的元字符和外部的元字符概念不同,如在內部.?*都不是元字符。

結構體和無結構體的區別:在結構體x[abc]y中,表示的是或的意思,即x然后abc然后y。在無結構體時xabcy表示的是且的意思,x然后a然后b然后c然后y。

在字符組內部的元字符字符組元字符

-不在[[^后面的"-"表示一個范圍,必須寫著2個字符中間(應該是有間隔的同類字符):[0-9a-z] 09az中任意一個。

^:在[后面的"^"表示匹配排除的,寫在字符組中的第1個:[^..][…] 前者匹配任何未列出來的字符,即列出的是不希望匹配的字符;后者匹配列出來的字符。

PS個字符組,即使是排除型字符組,也需要匹配一個字符。如q[^u]無法匹配“Iraq”,因q后面無字符了。

?

(普通)元字符(非字符組中的元字符,當然有符號相同,但作用不同的):

^:行開頭,在字符組內部和外部表示的意義不一樣;

$:行結尾;

.:點號,匹配任意字符;

|:或,把不同的子表達式組合成一個總的表達式,從而使總表達式能夠匹配任意的子表達式。子表達式稱為“多選分支alternative”,一般會用括號來劃定多選結構的范圍

():括號,劃定范圍,如多選結構的總表達式一般用括號括起來,與其他不相干字符劃分開來。如ga|yg(a|y)區別是,前者gay,后者gagy。另外括號一般還能夠“記住”它們包含的子表達式匹配的文本,見反向引用。

? + * 這三個元字符統稱為量詞,即限定了所作用元素的匹配次數。

?:可選項元素,作用于問號前面緊鄰的元素,表示是可選項,即有或沒有

+:加號作用于前面緊鄰的元素,表示能出現一次或多次,即>=1

*:星號作用于前面緊鄰的元素,表示能出現任意多次或者不出現,即>=0

{1,2}:區間量詞,作用于前面緊鄰的元素,限定其出現的次數范圍為1-2

反向引用:容許我們匹配與表達式先前部分匹配的同樣的文本,即使用先前匹配的東西來再次匹配。一般通過\1這樣的形式表示第一個記憶的匹配文本。

\<:單詞的起始位置,這種貌似只在egrep中適用

\>:單詞的結束位置,這種貌似只在egrep中適用

^$

^cat$ 匹配:行開頭,然后字母,然后行結尾

^$ 匹配:行開頭,然后行結尾,即空行(無任何字符)

^ 匹配:行開頭。無任何意義,每一行都有開頭

額外的參數:

-i:忽略大小寫,這種寫法在egrep中適用,其它處一般也是通過i來表示,但是寫法不一樣

神奇的轉義:轉義符\,反斜線

如果需要匹配的某個字符本身就是元字符,那么需要對其進行轉義,如\?,這個問號就是轉義的了,是普通字符了,不是元字符了。(可能某些工具如egrep某些版本不支持在字符組內部使用轉義)。PS:在某些用法中,反斜線后面如果跟的不是元字符,那么可能會有特殊的用途,即組合為元字符,即反過來了。

?

PS:不同語言對正則表達式有不同的改進,因此正則表達式有很多“流派”。

轉載于:https://www.cnblogs.com/yevon/archive/2013/03/11/2935048.html

總結

以上是生活随笔為你收集整理的《精通正则表达式》读书笔记(1)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 成人亚洲精品久久久久软件 | 中文字幕在线观看国产 | 国产喷水吹潮视频www | 久久精品视频91 | 欧美射| 精品一区在线观看视频 | 一区二区韩国 | 大乳丰满人妻中文字幕日本 | 欧美激情精品 | 亚洲精品国产精品乱码不99 | 国产精品久久久久久久av | 欧洲视频一区二区三区 | 国产精品一区在线观看你懂的 | 欧美成人女星 | 久久久久成人精品免费播放动漫 | 奴性女会所调教 | 久久视频在线观看 | 亚洲福利在线视频 | 爱爱视频天天干 | 性史性农村dvd毛片 日韩精品在线视频观看 | 四虎8848 | 99在线视频播放 | 77777av| 丰满人妻一区二区三区53视频 | 精品国产鲁一鲁一区二区张丽 | 免费h片在线观看 | 欧美精品播放 | 国产精品人八做人人女人a级刘 | 亚洲视频天堂 | 日日艹夜夜艹 | 精品人妻无码中文字幕18禁 | 国产成人精品一区二区三区四区 | 亚洲AV无码国产精品午夜字幕 | 三级全黄的视频 | 欧美性受视频 | 91久久国语露脸精品国产高跟 | 色综合色综合色综合 | china国产乱xxxxx绿帽 | 精品蜜桃一区二区三区 | 国产精品国产精品国产专区 | 日韩精品免费 | 国产一区二区三区视频在线播放 | 国产精品人八做人人女人a级刘 | 国产一区二区三区视频在线观看 | 久久综合久久鬼色 | 亚洲一区二区三区在线视频观看 | 成人爱爱| 激情四射综合网 | 国产高清久久久 | 美脚の诱脚舐め脚视频播放 | 婷婷综合在线 | 一级全黄裸体片 | 美女操操操| 麻豆成人精品国产免费 | 岛国av在线播放 | 青青青在线免费 | 日本三级韩国三级美三级91 | 小柔好湿好紧太爽了国产网址 | 欧美天天影院 | 国产91精品露脸国语对白 | 九色视频网 | 久久天天躁狠狠躁夜夜躁 | 日一区二区三区 | 十八禁一区二区三区 | 日韩一区免费视频 | 美日韩在线 | 自拍偷拍亚洲综合 | 狠狠爱天天干 | 欧美人交a欧美精品 | 久久久国产精品成人免费 | 亚洲黄色影视 | 欧美特级aaa| 在线免费观看av网址 | 上床视频在线观看 | 男女天堂av | 国产中文字幕第一页 | 国产又黄又粗又硬 | 欧美一区二区三区色 | 一区二区日韩在线观看 | av观看网 | 97国产精品久久 | 老牛嫩草二区三区观影体验 | 国产女人18毛片水真多 | 成年人黄色录像 | 第一福利在线视频 | 色女人av| 日本高清黄色 | 日韩欧美aⅴ综合网站发布 国产成人一区二区三区小说 | 亚洲在线视频一区 | 亚洲成人高清在线 | 黄色一级大片免费版 | 国产黄色的视频 | 国产在线视频在线观看 | 久久影院午夜理论片无码 | 亚洲乱码精品久久久久 | 国产av国片偷人妻麻豆 | 成人福利视频网 | 成人看片黄a免费看视频 | 国产爽视频 |