国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

正則表達式簡介(1-3)

2019-11-18 22:23:48
字體:
來源:轉載
供稿:網友
1.正則表達式

如果原來沒有使用過正則表達式,那么可能對這個術語和概念會不太熟悉。不過,它們并不是您想象的那么新奇。

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

data1.dat

data2.dat

datax.dat

dataN.dat

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

data.dat

data1.dat

data2.dat

data12.dat

datax.dat

dataXYZ.dat

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

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

早期起源

正則表達式的“祖先”可以一直上溯至對人類神經系統如何工作的早期研究。Warren McCulloch 和 Walter Pitts 這兩位
神經生理學家研究出一種數學方式來描述這些神經網絡。

1956 年, 一位叫 Stephen Kleene 的美國數學家在 McCulloch 和 Pitts 早期工作的基礎上,發表了一篇標題為“神經網
事件的表示法”的論文,引入了正則表達式的概念。正則表達式就是用來描述他稱為“正則集的代數”的表達式,因此采
用“正則表達式”這個術語。

隨后,發現可以將這一工作應用于使用Ken Thompson 的計算搜索算法的一些早期研究,Ken Thompson是Unix 的主要發明
人。正則表達式的第一個實用應用程序就是 Unix 中的qed 編輯器。

如他們所說,剩下的就是眾所周知的歷史了。從那時起直至現在正則表達式都是基于文本的編輯器和搜索工具中的一個重
要部分。
--------------------------------------------------------
3.使用正則表達式

在典型的搜索和替換操作中,必須提供要查找的確切文字。這種技術對于靜態文本中的簡單搜索和替換任務可能足夠了,
但是由于它缺乏靈活性,因此在搜索動態文本時就有困難了,甚至是不可能的。

使用正則表達式,就可以:

1.測試字符串的某個模式。例如,可以對一個輸入字符串進行測試,看在該字符串是否存在一個電話號碼模式或一個信用
卡號碼模式。這稱為數據有效性驗證。

2.替換文本??梢栽谖臋n中使用一個正則表達式來標識特定文字,然后可以全部將其刪除,或者替換為別的文字。

3.根據模式匹配從字符串中提取一個子字符串??梢杂脕碓谖谋净蜉斎胱侄沃胁檎姨囟ㄎ淖?。

例如,如果需要搜索整個 web 站點來刪除某些過時的材料并替換某些HTML 格式化標記,則可以使用正則表達式對每個文
件進行測試,看在該文件中是否存在所要查找的材料或 HTML 格式化標記。用這個方法,就可以將受影響的文件范圍縮小
到包含要刪除或更改的材料的那些文件。然后可以使用正則表達式來刪除過時的材料,最后,可以再次使用正則表達式來
查找并替換那些需要替換的標記。

另一個說明正則表達式非常有用的示例是一種其字符串處理能力還不為人所知的語言。VBScript 是 Visual Basic 的一個
子集,具有豐富的字符串處理功能。與 C 類似的 Visual Basic Scripting Edition 則沒有這一能力。正則表達式給
Visual Basic Scripting Edition 的字符串處理能力帶來了明顯改善。不過,可能還是在 VBScript 中使用正則表達式的
效率更高,它允許在單個表達式中執行多個字符串操作。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 丹棱县| 金沙县| 鄂州市| 西乌珠穆沁旗| 博客| 尉氏县| 正蓝旗| 桑日县| 竹山县| 麻阳| 乌兰浩特市| 炉霍县| 拉孜县| 平南县| 宜城市| 临沂市| 杭州市| 灵台县| 桦南县| 大同市| 马尔康县| 三亚市| 镇赉县| 南丹县| 兰西县| 宁津县| 巫溪县| 康马县| 沙坪坝区| 平泉县| 志丹县| 那曲县| 罗平县| 深圳市| 康马县| 苗栗市| 林州市| 都江堰市| 三原县| 天峻县| 莲花县|