自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

追溯Perl正則表達(dá)式的起源和使用

開(kāi)發(fā) 架構(gòu)
本文向大家簡(jiǎn)單介紹一下Perl語(yǔ)言中的Perl正則表達(dá)式的概念,Perl正則表達(dá)式的三種形式和八種原則你是否熟悉,這里和大家分享一下。

本文和大家重點(diǎn)討論一下Perl正則表達(dá)式的概念,主要包括Perl正則表達(dá)式起源和使用兩大部分內(nèi)容,相信通過(guò)本文的學(xué)習(xí)你對(duì)Perl正則表達(dá)式會(huì)有全面的了解。

Perl正則表達(dá)式簡(jiǎn)介

1.Perl正則表達(dá)式

如果原來(lái)沒(méi)有使用過(guò)Perl正則表達(dá)式,那么可能對(duì)這個(gè)術(shù)語(yǔ)和概念會(huì)不太熟悉。不過(guò),它們并不是您想象的那么新奇。

請(qǐng)回想一下在硬盤(pán)上是如何查找文件的。您肯定會(huì)使用?和*字符來(lái)幫助查找您正尋找的文件。?字符匹配文件名中的單個(gè)字符,而*則匹配一個(gè)或多個(gè)字符。一個(gè)如'data?.dat'的模式可以找到下述文件:

data1.dat

data2.dat

datax.dat

dataN.dat

如果使用*字符代替?字符,則將擴(kuò)大找到的文件數(shù)量。'data*.dat'可以匹配下述所有文件名:

data.dat

data1.dat

data2.dat

data12.dat

datax.dat

dataXYZ.dat

盡管這種搜索文件的方法肯定很有用,但也十分有限。?和*通配符的有限能力可以使你對(duì)Perl正則表達(dá)式能做什么有一個(gè)概念,不過(guò)Perl正則表達(dá)式的功能更強(qiáng)大,也更靈活。

-------------------------------------------------------
2.早期起源

早期起源

Perl正則表達(dá)式的“祖先”可以一直上溯至對(duì)人類(lèi)神經(jīng)系統(tǒng)如何工作的早期研究。WarrenMcCulloch和WalterPitts這兩位神經(jīng)生理學(xué)家研究出一種數(shù)學(xué)方式來(lái)描述這些神經(jīng)網(wǎng)絡(luò)。

1956年,一位叫StephenKleene的美國(guó)數(shù)學(xué)家在McCulloch和Pitts早期工作的基礎(chǔ)上,發(fā)表了一篇標(biāo)題為“神經(jīng)網(wǎng)事件的表示法”的論文,引入了Perl正則表達(dá)式的概念。Perl正則表達(dá)式就是用來(lái)描述他稱(chēng)為“正則集的代數(shù)”的表達(dá)式,因此采用“Perl正則表達(dá)式”這個(gè)術(shù)語(yǔ)。

隨后,發(fā)現(xiàn)可以將這一工作應(yīng)用于使用KenThompson的計(jì)算搜索算法的一些早期研究,KenThompson是Unix的主要發(fā)明人。Perl正則表達(dá)式的***個(gè)實(shí)用應(yīng)用程序就是Unix中的qed編輯器。

如他們所說(shuō),剩下的就是眾所周知的歷史了。從那時(shí)起直至現(xiàn)在Perl正則表達(dá)式都是基于文本的編輯器和搜索工具中的一個(gè)重要部分。
--------------------------------------------------------

3.使用Perl正則表達(dá)式

在典型的搜索和替換操作中,必須提供要查找的確切文字。這種技術(shù)對(duì)于靜態(tài)文本中的簡(jiǎn)單搜索和替換任務(wù)可能足夠了,但是由于它缺乏靈活性,因此在搜索動(dòng)態(tài)文本時(shí)就有困難了,甚至是不可能的。

使用Perl正則表達(dá)式,就可以:

1.測(cè)試字符串的某個(gè)模式。例如,可以對(duì)一個(gè)輸入字符串進(jìn)行測(cè)試,看在該字符串是否存在一個(gè)電話(huà)號(hào)碼模式或一個(gè)信用卡號(hào)碼模式。這稱(chēng)為數(shù)據(jù)有效性驗(yàn)證。

2.替換文本。可以在文檔中使用一個(gè)Perl正則表達(dá)式來(lái)標(biāo)識(shí)特定文字,然后可以全部將其刪除,或者替換為別的文字。

3.根據(jù)模式匹配從字符串中提取一個(gè)子字符串??梢杂脕?lái)在文本或輸入字段中查找特定文字。

例如,如果需要搜索整個(gè)web站點(diǎn)來(lái)刪除某些過(guò)時(shí)的材料并替換某些HTML格式化標(biāo)記,則可以使用Perl正則表達(dá)式對(duì)每個(gè)文件進(jìn)行測(cè)試,看在該文件中是否存在所要查找的材料或HTML格式化標(biāo)記。用這個(gè)方法,就可以將受影響的文件范圍縮小到包含要?jiǎng)h除或更改的材料的那些文件。然后可以使用Perl正則表達(dá)式來(lái)刪除過(guò)時(shí)的材料,***,可以再次使用Perl正則表達(dá)式來(lái)查找并替換那些需要替換的標(biāo)記。

另一個(gè)說(shuō)明Perl正則表達(dá)式非常有用的示例是一種其字符串處理能力還不為人所知的語(yǔ)言。VBScript是VisualBasic的一個(gè)子集,具有豐富的字符串處理功能。與C類(lèi)似的VisualBasicScriptingEdition則沒(méi)有這一能力。Perl正則表達(dá)式給VisualBasicScriptingEdition的字符串處理能力帶來(lái)了明顯改善。不過(guò),可能還是在VBScript中使用Perl正則表達(dá)式的
效率更高,它允許在單個(gè)表達(dá)式中執(zhí)行多個(gè)字符串操作。

本篇文章來(lái)自<A>IDC專(zhuān)家網(wǎng)</a>原文鏈接:http://www.soidc.net/articles/1213781277395/20000824/1215945421383_1.html

【編輯推薦】

  1. 解析Perl正則表達(dá)式的形式、模式和原則
  2. Perl正則表達(dá)式的三種形式
  3. 解析兩大Perl標(biāo)量的操作符
  4. Pe解析Perl正則表達(dá)式中的模式
  5. Perl正則表達(dá)式的三種形式和八大原則
責(zé)任編輯:佚名 來(lái)源: csdn.net
相關(guān)推薦

2010-07-14 09:47:04

Perl正則表達(dá)式

2010-07-19 10:40:16

Perl正則表達(dá)式

2010-07-13 17:03:53

Perl正則表達(dá)式

2010-07-14 09:01:18

Perl正則表達(dá)式

2010-07-14 09:37:46

Perl正則表達(dá)式

2018-09-27 15:25:08

正則表達(dá)式前端

2010-07-22 09:12:05

Perl正則表達(dá)式

2010-07-14 10:06:55

Perl正則表達(dá)式

2010-07-14 09:55:24

Perl正則表達(dá)式

2010-07-13 16:56:30

Perl正則表達(dá)式

2010-07-14 09:24:22

Perl正則表達(dá)式

2009-09-16 12:41:42

Perl正則表達(dá)式

2010-07-19 16:11:20

Perl正則表達(dá)式

2010-03-25 18:25:36

Python正則表達(dá)式

2009-09-16 17:29:30

正則表達(dá)式使用詳解

2023-10-07 08:25:09

Java處理工具正則表達(dá)式

2010-07-21 10:43:25

Perl正則表達(dá)式匹配

2020-09-04 09:16:04

Python正則表達(dá)式虛擬機(jī)

2024-09-14 09:18:14

Python正則表達(dá)式

2010-07-20 16:25:50

Perl正則表達(dá)式
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)