導航:首頁 > 文檔加密 > 正則表達式入門pdf

正則表達式入門pdf

發布時間:2022-05-02 17:31:35

Ⅰ 正則表達式入門經典的相關圖書

形式語義學基礎 [專著]/陳意雲編著,合肥,中國科學技術大學出版社,1994.3,7-312-00533-0,5,237頁26cm,TP301.2/C49
形式語義學的穩定論域理論/陳儀香著,北京,科學出版社,2003,7-03-011264-4,205頁20cm,TP301.2/C497
Combinatorics on Words [專著]:Progress and Perspectives/Edited by Larry J.Cummings,Ontario,Academic Press Canada,1983,0-12-198820-1,ix,405p.21cm,TP301.2/C971
Languages, compilers, and tools for embedded systems:ACM SIGPLAN Workshop LCTES 2000, Vancouver, Canada, June 2000 : proceedings /Jack Davidson, Sang Lyul Min (eds.),N.Y.,Tata Institute of Fundamental Research,2001.,3-540-41781-8,viii,220p.fig.,tab.,TP301.2/D252
精通正則表達式:第3版/(美)Jeffrey E.F.Friedl著;余晟譯,北京,電子工業出版社,2007,978-7-121-04684-1,515頁25cm,TP301.2/F831
正則表達式經典實例/(美)Jan Goyvaerts,(美)Steven Levithan著;郭耀譯,北京,人民郵電出版社,2010,978-7-115-22832-1,457頁24cm,TP301.2/G722
形式語言與自動機導論:英文版/(美)Peter Linz著,北京,機械工業出版社,2004,7-111-15310-3,15,410頁24cm,TP301.2/L610
形式語言與自動機導論/(美)Peter Linz著;孫家驌等譯,北京,機械工業出版社,2005,7-111-16788-0,289頁26cm,TP301.2/L610
Computer Literacy:Survival kit,for the Apple II,lle Family of Computers/Arthur Luehrmann,Herbert Peckham,Maidenhead,McGraw-Hill Book Co.,1984,0-07-049206-9,xiii,417p.ill.23cm,TP301.2/L926

Ⅱ 誰有《學習正則表達式》電子書百度網盤資源下載

《學習正則表達式》網路網盤txt 最新全集下載:
鏈接: https://pan..com/s/1NGeZDIeFzpBb_1pePVa7zw

提取碼:GLBD

《學習正則表達式》從正則表達式的基本概念講起,到編寫完整的sed和Perl腳本,再到轉換HTML文件,將這種強大的工具解釋得清晰透徹。書中貫穿了大量簡潔明了的示例,旨在讓讀者輕松掌握正則表達式。此外,書中各在線和桌面工具一應俱全,並介紹了進階參考資料,是一本不可多得的正則表達式入門好書。《學習正則表達式》適合對正則表達式感興趣的程序員和互聯網從業者。

Ⅲ 《精通正則表達式第三版》pdf下載在線閱讀全文,求百度網盤雲資源

《精通正則表達式第三版》網路網盤pdf最新全集下載:
鏈接:https://pan..com/s/1rF2zZTMX_0ugMXDB34XTIg

?pwd=sxdv 提取碼:sxdv
簡介:《精通正則表達式(第3版)》內容簡介:隨著互聯網的迅速發展,幾乎所有工具軟體和程序語言都支持的正則表達式也變得越來越強大和易於使用。《精通正則表達式(第3版)》是講解正則表達式的經典之作。
《精通正則表達式(第3版)》主要講解了正則表達式的特性和流派、匹配原理、優化原則、實用訣竅以及調校措施,並詳細介紹了正則表達式在Perl、Java、.NET、PHP中的用法。《精通正則表達式(第3版)》自第1版開始著力於教會讀者「以正則表達式來思考」,來讓讀者真正「精通」正則表達式。該版對PHP的相關內容、Javal.5和Javal.6的新特性作了可觀的擴充講解。任何有機會仲用正則表達式的讀者都會從中獲益匪淺。

Ⅳ 正則表達式

如果你曾經用過Perl或任何其他內建正則表達式支持的語言,你一定知道用正則表達式處理文本和匹配模式是多麼簡單。如果你不熟悉這個術語,那麼「正則表達式」(Regular Expression)就是一個字元構成的串,它定義了一個用來搜索匹配字元串的模式。
許多語言,包括Perl、PHP、Python、JavaScript和JScript,都支持用正則表達式處理文本,一些文本編輯器用正則表達式實現高級「搜索-替換」功能。那麼Java又怎樣呢?本文寫作時,一個包含了用正則表達式進行文本處理的Java規范需求(Specification Request)已經得到認可,你可以期待在JDK的下一版本中看到它。
然而,如果現在就需要使用正則表達式,又該怎麼辦呢?你可以從Apache.org下載源代碼開放的Jakarta-ORO庫。本文接下來的內容先簡要地介紹正則表達式的入門知識,然後以Jakarta-ORO API為例介紹如何使用正則表達式。
一、正則表達式基礎知識
我們先從簡單的開始。假設你要搜索一個包含字元「cat」的字元串,搜索用的正則表達式就是「cat」。如果搜索對大小寫不敏感,單詞「catalog」、「Catherine」、「sophisticated」都可以匹配。也就是說:

1.1 句點符號
假設你在玩英文拼字游戲,想要找出三個字母的單詞,而且這些單詞必須以「t」字母開頭,以「n」字母結束。另外,假設有一本英文字典,你可以用正則表達式搜索它的全部內容。要構造出這個正則表達式,你可以使用一個通配符——句點符號「.」。這樣,完整的表達式就是「t.n」,它匹配「tan」、「ten」、「tin」和「ton」,還匹配「t#n」、「tpn」甚至「t n」,還有其他許多無意義的組合。這是因為句點符號匹配所有字元,包括空格、Tab字元甚至換行符:

1.2 方括弧符號
為了解決句點符號匹配范圍過於廣泛這一問題,你可以在方括弧(「[]」)裡面指定看來有意義的字元。此時,只有方括弧裡面指定的字元才參與匹配。也就是說,正則表達式「t[aeio]n」只匹配「tan」、「Ten」、「tin」和「ton」。但「Toon」不匹配,因為在方括弧之內你只能匹配單個字元:

1.3 「或」符號
如果除了上面匹配的所有單詞之外,你還想要匹配「toon」,那麼,你可以使用「|」操作符。「|」操作符的基本意義就是「或」運算。要匹配「toon」,使用「t(a|e|i|o|oo)n」正則表達式。這里不能使用方擴號,因為方括弧只允許匹配單個字元;這里必須使用圓括弧「()」。圓括弧還可以用來分組,具體請參見後面介紹。

1.4 表示匹配次數的符號
表一顯示了表示匹配次數的符號,這些符號用來確定緊靠該符號左邊的符號出現的次數:

假設我們要在文本文件中搜索美國的社會安全號碼。這個號碼的格式是999-99-9999。用來匹配它的正則表達式如圖一所示。在正則表達式中,連字元(「-」)有著特殊的意義,它表示一個范圍,比如從0到9。因此,匹配社會安全號碼中的連字元號時,它的前面要加上一個轉義字元「\」。

圖一:匹配所有123-12-1234形式的社會安全號碼

假設進行搜索的時候,你希望連字元號可以出現,也可以不出現——即,999-99-9999和999999999都屬於正確的格式。這時,你可以在連字元號後面加上「?」數量限定符號,如圖二所示:

圖二:匹配所有123-12-1234和123121234形式的社會安全號碼

下面我們再來看另外一個例子。美國汽車牌照的一種格式是四個數字加上二個字母。它的正則表達式前面是數字部分「[0-9]{4}」,再加上字母部分「[A-Z]{2}」。圖三顯示了完整的正則表達式。

圖三:匹配典型的美國汽車牌照號碼,如8836KV

1.5 「否」符號
「^」符號稱為「否」符號。如果用在方括弧內,「^」表示不想要匹配的字元。例如,圖四的正則表達式匹配所有單詞,但以「X」字母開頭的單詞除外。

圖四:匹配所有單詞,但「X」開頭的除外

1.6 圓括弧和空白符號
假設要從格式為「June 26, 1951」的生日日期中提取出月份部分,用來匹配該日期的正則表達式可以如圖五所示:

圖五:匹配所有Moth DD,YYYY格式的日期

新出現的「\s」符號是空白符號,匹配所有的空白字元,包括Tab字元。如果字元串正確匹配,接下來如何提取出月份部分呢?只需在月份周圍加上一個圓括弧創建一個組,然後用ORO API(本文後面詳細討論)提取出它的值。修改後的正則表達式如圖六所示:

圖六:匹配所有Month DD,YYYY格式的日期,定義月份值為第一個組

1.7 其它符號
為簡便起見,你可以使用一些為常見正則表達式創建的快捷符號。如表二所示:
表二:常用符號

例如,在前面社會安全號碼的例子中,所有出現「[0-9]」的地方我們都可以使用「\d」。修改後的正則表達式如圖七所示:

圖七:匹配所有123-12-1234格式的社會安全號碼

二、Jakarta-ORO庫
有許多源代碼開放的正則表達式庫可供Java程序員使用,而且它們中的許多支持Perl 5兼容的正則表達式語法。我在這里選用的是Jakarta-ORO正則表達式庫,它是最全面的正則表達式API之一,而且它與Perl 5正則表達式完全兼容。另外,它也是優化得最好的API之一。
Jakarta-ORO庫以前叫做OROMatcher,Daniel Savarese大方地把它贈送給了Jakarta Project。你可以按照本文最後參考資源的說明下載它。
我首先將簡要介紹使用Jakarta-ORO庫時你必須創建和訪問的對象,然後介紹如何使用Jakarta-ORO API。
▲ PatternCompiler對象
首先,創建一個Perl5Compiler類的實例,並把它賦值給PatternCompiler介面對象。Perl5Compiler是PatternCompiler介面的一個實現,允許你把正則表達式編譯成用來匹配的Pattern對象。

▲ Pattern對象
要把正則表達式編譯成Pattern對象,調用compiler對象的compile()方法,並在調用參數中指定正則表達式。例如,你可以按照下面這種方式編譯正則表達式「t[aeio]n」:

默認情況下,編譯器創建一個大小寫敏感的模式(pattern)。因此,上面代碼編譯得到的模式只匹配「tin」、「tan」、 「ten」和「ton」,但不匹配「Tin」和「taN」。要創建一個大小寫不敏感的模式,你應該在調用編譯器的時候指定一個額外的參數:

創建好Pattern對象之後,你就可以通過PatternMatcher類用該Pattern對象進行模式匹配。
▲ PatternMatcher對象
PatternMatcher對象根據Pattern對象和字元串進行匹配檢查。你要實例化一個Perl5Matcher類並把結果賦值給PatternMatcher介面。Perl5Matcher類是PatternMatcher介面的一個實現,它根據Perl 5正則表達式語法進行模式匹配:

使用PatternMatcher對象,你可以用多個方法進行匹配操作,這些方法的第一個參數都是需要根據正則表達式進行匹配的字元串:
· boolean matches(String input, Pattern pattern):當輸入字元串和正則表達式要精確匹配時使用。換句話說,正則表達式必須完整地描述輸入字元串。
· boolean matchesPrefix(String input, Pattern pattern):當正則表達式匹配輸入字元串起始部分時使用。
· boolean contains(String input, Pattern pattern):當正則表達式要匹配輸入字元串的一部分時使用(即,它必須是一個子串)。
另外,在上面三個方法調用中,你還可以用PatternMatcherInput對象作為參數替代String對象;這時,你可以從字元串中最後一次匹配的位置開始繼續進行匹配。當字元串可能有多個子串匹配給定的正則表達式時,用PatternMatcherInput對象作為參數就很有用了。用PatternMatcherInput對象作為參數替代String時,上述三個方法的語法如下:
· boolean matches(PatternMatcherInput input, Pattern pattern)
· boolean matchesPrefix(PatternMatcherInput input, Pattern pattern)
· boolean contains(PatternMatcherInput input, Pattern pattern)
三、應用實例
下面我們來看看Jakarta-ORO庫的一些應用實例。
3.1 日誌文件處理
任務:分析一個Web伺服器日誌文件,確定每一個用戶花在網站上的時間。在典型的BEA WebLogic日誌文件中,日誌記錄的格式如下:

分析這個日誌記錄,可以發現,要從這個日誌文件提取的內容有兩項:IP地址和頁面訪問時間。你可以用分組符號(圓括弧)從日誌記錄提取出IP地址和時間標記。
首先我們來看看IP地址。IP地址有4個位元組構成,每一個位元組的值在0到255之間,各個位元組通過一個句點分隔。因此,IP地址中的每一個位元組有至少一個、最多三個數字。圖八顯示了為IP地址編寫的正則表達式:

圖八:匹配IP地址

IP地址中的句點字元必須進行轉義處理(前面加上「\」),因為IP地址中的句點具有它本來的含義,而不是採用正則表達式語法中的特殊含義。句點在正則表達式中的特殊含義本文前面已經介紹。
日誌記錄的時間部分由一對方括弧包圍。你可以按照如下思路提取出方括弧裡面的所有內容:首先搜索起始方括弧字元(「[」),提取出所有不超過結束方括弧字元(「]」)的內容,向前尋找直至找到結束方括弧字元。圖九顯示了這部分的正則表達式。

圖九:匹配至少一個字元,直至找到「]」

現在,把上述兩個正則表達式加上分組符號(圓括弧)後合並成單個表達式,這樣就可以從日誌記錄提取出IP地址和時間。注意,為了匹配「- -」(但不提取它),正則表達式中間加入了「\s-\s-\s」。完整的正則表達式如圖十所示。

圖十:匹配IP地址和時間標記

現在正則表達式已經編寫完畢,接下來可以編寫使用正則表達式庫的Java代碼了。
為使用Jakarta-ORO庫,首先創建正則表達式字元串和待分析的日誌記錄字元串:

這里使用的正則表達式與圖十的正則表達式差不多完全相同,但有一點例外:在Java中,你必須對每一個向前的斜杠(「\」)進行轉義處理。圖十不是Java的表示形式,所以我們要在每個「\」前面加上一個「\」以免出現編譯錯誤
回答者

Ⅳ 《JavaScript從入門到精通第二版》pdf下載在線閱讀全文,求百度網盤雲資源

《JavaScript從入門到精通第二版》網路網盤pdf最新全集下載:
鏈接:https://pan..com/s/1nqCzJUqaMhIVrgroOOo2RA

?pwd=zk58 提取碼:zk58
簡介:《JavaScript從入門到精通(第3版)/軟體開發視頻大講堂》共分25章,包括初識JavaScript、JavaScript基礎、流程式控制制、函數、JavaScript對象與數組、字元串與數值處理對象、正則表達式、程序調試與錯誤處理、事件處理、文檔(document)對象、文檔對象模型(DOM對象)、window窗口對象、級聯樣式表、表單和表單元素、頁面列印、使用Cookie、圖像處理、瀏覽器檢測、嵌入式對象、JavaScript中的XML、JavaScript的安全、Ajax技術、iQuery技術、常用前端框架簡介、JavaScript+Ajax+iQuery網頁開發等。書中的大多數知識點都結合具體實例進行介紹,涉及的程序代碼給出了詳細的注釋,讀者可輕松領會JavaScript程序開發的精髓,快速提高開發技能。

Ⅵ 學習正則表達式有哪些入門和進階的書籍

  1. 30分鍾正則入門 http://deerchao.net/tutorials/regex/regex.htm

  2. 精通正則表達式 可以看電子書也可以自己買紙質書

    先看30分入門,對正則有大致的了解後,再看精通正則表達式。主要是多練,練多了自然會了

    推薦正則表達式工具RegexBuddy

Ⅶ 正則表達式怎麼編寫

<%
Function RegExpTest(patrn, strng)
Dim regEx, Match, Matches '建立變數。
Set regEx = New RegExp '建立正則表達式。
regEx.Pattern = patrn '設置模式。
regEx.IgnoreCase = True '設置是否區分字元大小寫。
regEx.Global = True '設置全局可用性。
Set Matches = regEx.Execute(strng) '執行搜索。
For Each Match in Matches '遍歷匹配集合。
RetStr = RetStr & "Match found at position "
RetStr = RetStr & Match.FirstIndex & ". Match Value is '"
RetStr = RetStr & Match.Value & "'." & "<BR>"
Next
RegExpTest = RetStr
End Function
response.write RegExpTest("[ij]s.", "IS1 Js2 IS3 is4")
%>
在這個例子中,我們查找字元串中有無is或者js這兩個詞,忽略大小寫。運行的結果如下:
Match found at position 0. Match Value is 'IS1'.
Match found at position 4. Match Value is 'Js2'.
Match found at position 8. Match Value is 'IS3'.
Match found at position 12. Match Value is 'is4'.
下面我們就介紹這三個對象和集合。
1、RegExp對象是最重要的一個對象,它有幾個屬性,其中:
○Global 屬性,設置或返回一個 Boolean 值,該值指明在整個搜索字元串時模式是全部匹配還是只匹配第一個。如果搜索應用於整個字元串,Global 屬性的值為 True,否則其值為 False。默認的設置為 False。
○IgnoreCase 屬性,設置或返回一個Boolean值,指明模式搜索是否區分大小寫。如果搜索是區分大小寫的,則 IgnoreCase 屬性為 False;否則為 True。預設值為 False。
○Pattern 屬性,設置或返回被搜索的正則表達式模式。必選項。總是一個 RegExp 對象變數。
2、Match 對象
匹配搜索的結果是存放在Match對象中,提供了對正則表達式匹配的只讀屬性的訪問。 Match 對象只能通過 RegExp 對象的 Execute 方法來創建,該方法實際上返回了 Match 對象的集合。所有的 Match 對象屬性都是只讀的。在執行正則表達式時,可能產生零個或多個 Match 對象。每個 Match 對象提供了被正則表達式搜索找到的字元串的訪問、字元串的長度,以及找到匹配的索引位置等。
○FirstIndex 屬性,返回在搜索字元串中匹配的位置。FirstIndex 屬性使用從零起算的偏移量,該偏移量是相對於搜索字元串的起始位置而言的。換言之,字元串中的第一個字元被標識為字元 0
○Length 屬性,返回在字元串搜索中找到的匹配的長度。
○Value 屬性,返回在一個搜索字元串中找到的匹配的值或文本。
3、Matches 集合
正則表達式 Match 對象的集合。Matches 集合中包含若干獨立的 Match 對象,只能使用 RegExp 對象的 Execute 方法來創建之。與獨立的 Match 對象屬性相同,Matches `集合的一個屬性是只讀的。在執行正則表達式時,可能產生零個或多個 Match 對象。每個 Match 對象都提供了與正則表達式匹配的字元串的訪問入口、字元串的長度,以及標識匹配位置的索引。
學習了這三個對象和集合,如何應用於字元串的判斷和替換呢?regExp對象的三個方法正好解決了這個問題,它們是Replace方法、Test方法和Execute方法。
1、Replace 方法
替換在正則表達式查找中找到的文本。我們還是先看個例子:下面的例子說明了 Replace 方法的用法。
<%
Function ReplaceTest(patrn, replStr)
Dim regEx, str1 ' 建立變數。
str1 = "The quick brown fox jumped over the lazy dog."
Set regEx = New RegExp ' 建立正則表達式。
regEx.Pattern = patrn ' 設置模式。
regEx.IgnoreCase = True ' 設置是否區分大小寫。
ReplaceTest = regEx.Replace(str1, replStr) ' 作替換。
End Function
Response.write ReplaceTest("fox", "cat") & "<BR>" ' 將 'fox' 替換為 'cat'。
Response.write ReplaceTest("(\S+)(\s+)(\S+)", "$3$2$1") ' 交換詞對.
%>
2、Test 方法
對指定的字元串執行一個正則表達式搜索,並返回一個 Boolean 值指示是否找到匹配的模式。正則表達式搜索的實際模式是通過RegExp對象的Pattern屬性來設置的。RegExp.Global屬性對Test方法沒有影響。
如果找到了匹配的模式,Test方法返回True;否則返回False。下面的代碼說明了Test 方法的用法。
<%
Function RegExpTest(patrn, strng)
Dim regEx, retVal ' 建立變數。
Set regEx = New RegExp ' 建立正則表達式。
regEx.Pattern = patrn ' 設置模式。
regEx.IgnoreCase = False ' 設置是否區分大小寫。
retVal = regEx.Test(strng) ' 執行搜索測試。
If retVal Then
RegExpTest = "找到一個或多個匹配。"
Else
RegExpTest = "未找到匹配。"
End If
End Function
Response.write RegExpTest("is.", "IS1 is2 IS3 is4")
%>
3、Execute 方法
對指定的字元串執行正則表達式搜索。正則表達式搜索的設計模式是通過 RegExp 對象的 Pattern 來設置的。
Execute 方法返回一個 Matches 集合,其中包含了在 string 中找到的每一個匹配的 Match 對象。如果未找到匹配,Execute 將返回空的 Matches 集合。

Ⅷ 書寫正則表達式:PDF書簽的每一行都是以"一個空格"+"一個數字"結尾的,要把這個句末的空格替換成"製表符"

\s(\d+\n)
替換為\t$1

Ⅸ 《精通正則表達式第三版豆瓣》pdf下載在線閱讀全文,求百度網盤雲資源

《精通正則表達式第三版豆瓣》網路網盤pdf最新全集下載:
鏈接:https://pan..com/s/1ikz5Smh6w1BsoMygv5qiRw

?pwd=9zrn 提取碼:9zrn
簡介:精通正則表達式第三版自第1版開始著力於教會讀者「以正則表達式來思考」,來讓讀者真正「精通」正則表達式。該版對PHP的相關內容、Java1.5和Java1.6的新特性作了可觀的擴充講解。任何有機會使用正則表達式的讀者都會從中獲益匪淺。

Ⅹ 學習正則表達式有哪些入門和進階的書籍

精通正則表達式 可以看電子書也可以自己買紙質書
先看30分入門,對正則有大致的了解後,再看精通正則表達式。主要是多練,練多了自然會了
推薦正則表達式工具RegexBuddy

閱讀全文

與正則表達式入門pdf相關的資料

熱點內容
收費api調用平台源碼 瀏覽:642
安卓怎麼自檢病毒 瀏覽:556
布卡雲伺服器 瀏覽:766
程序員是怎麼做系統的 瀏覽:738
燕窩溯源碼最大加工廠 瀏覽:932
黑馬程序員第28集 瀏覽:483
lcd單片機驅動 瀏覽:647
通達信主力拉升出貨指標公式源碼 瀏覽:639
廉潔pdf 瀏覽:18
批量用修改多個文件夾及子目錄 瀏覽:321
王者每個伺服器爆滿怎麼辦 瀏覽:951
安卓手機如何清除所有的數據 瀏覽:982
激光打標機加密狗驅動無法啟動 瀏覽:912
矽谷程序員題庫 瀏覽:564
安卓系統怎麼開車模式 瀏覽:944
網劇程序員那麼可愛15集完整版 瀏覽:177
pdf怎麼生成 瀏覽:938
pythondict樹 瀏覽:586
ilo2命令 瀏覽:295
會飲pdf 瀏覽:92