中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

正則表達式的基本概念是什么

發布時間:2021-12-29 16:35:10 來源:億速云 閱讀:116 作者:小新 欄目:互聯網科技

小編給大家分享一下正則表達式的基本概念是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!


什么是正則表達式

正則表達式(Regular Expression)起源于人類神經系統的早期研究。神經生理學家Warren McCulloch和Walter Pitts研究出一種使用數學方式描述神經網絡的方法。1956年,數學家Stephen Kleene發表了一篇標題為“神經網事件的表示法”的論文,并在該論文中引入了“正則表達式”這一個概念。該論文稱正則表達式是:“正則集的代數”的表達式。因此,采用“正則表達式”這個術語。正則表達式的定義存在多種說法,具體如下:

正則表達式就是用某種模式去匹配一類字符串的公式,主要用來描述字符串匹配的工具。

正則表達式描述了一種字符串匹配的模式。它可以用來檢查字符串是否含有某種子串、將匹配的子串做替換或者從某個串中取出符合某個條件的子串等。

正則表達式是由普通字符(如字符a到z)以及特殊字符(稱為元字符)組成的文字模式。正則表達式作為一個模板,將某個字符模式與所搜索的字符串進行匹配。

正則表達式就是用于描述某些規則的工具。這些規則經常用于處理字符串中的查找或替換字符串。換句話說,正則表達式就是記錄文本規則的代碼。

正則表達式就是用一個“字符串”來描述一個特征,然后去驗證另一個“字符串”是否符合這個特征。
  學過《編譯原理》的讀者可能知道不確定有限自動機(Non-deterministic finite automaton,簡稱NFA)和確定有限自動機(Deterministic finite automaton,簡稱DFA)。其實,正則表達式是一個不確定有限自動機。NFA和DFA的最大區別在于它們的狀態轉換函數。NFA可以對同一個字符串產生多種理解方式,而DFA則只有唯一的一種理解方式。也正因為如此,NFA在匹配過程中可能會回溯,NFA的效率一般要低于DFA。因此,在書寫正則表達式時盡量減少回溯來提高正則表達式的效率。

如果你使用過Windows或DOS下用于文件查找的通配符*和?,那么你不難理解正則表達式。如果你需要查找所有Word文檔,那么可能使用表達式*.doc。其中,字符*是一個通配符,它可以代表任意字符串。正則表達式和通配符具有相似性,它也可以使用一些字符(如字符.)表示任意字符。然而,它比通配符更具有精確性。
  在正則表達式中,匹配是最常用的一個詞語,它描述了正則表達式動作結果。給定一段文本或字符串,使用正則表達式從文本或字符串中查找出符合正則表達式的字符串。有可能文本或字符存在不止一個部分滿足給定的正則表達式,這時每一個這樣的部分被稱為一個匹配。其中,匹配存在下面3種類型:
形容詞性的匹配,即一個字符串匹配一個正則表達式。

動詞性的匹配,即在文本或字符串里匹配正則表達式。

名詞性的匹配,即字符串中滿足給定的正則表達式的一部分。

  正則表達式的應用非常廣泛,特別是在字符串處理方面。目前來說,正則表達式已經在很多軟件中得到廣泛了應用,如Linux、Unix、HP等操作系統,C#、PHP、Java等程序開發環境,以及很多的應用軟件中,都可以看到正則表達式的這樣或那樣的應用。正則表達式常見的應用如下:

驗證字符串,即驗證給定的字符串或子字符串是否符合指定特征,譬如驗證是否是合法的郵件地址、驗證是否為合法的HTTP地址等。

查找字符串,從給定的文本中查找符合指定特征的字符串,比查找固定字符串更加靈活方便。
替換字符串,即把給定的字符串中的符合指定特征的子字符串替換為其他字符串,比普通的替換更強大。
提取字符串,即從給定的字符串中提取符合指定特征的子字符串。

以上是“正則表達式的基本概念是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

准格尔旗| 彝良县| 江达县| 馆陶县| 无棣县| 德保县| 郁南县| 广水市| 溧水县| 正安县| 新民市| 新津县| 新闻| 阜南县| 武冈市| 海兴县| 瓦房店市| 徐闻县| 田阳县| 株洲县| 江永县| 会昌县| 四会市| 滁州市| 安新县| 永登县| 杭锦旗| 礼泉县| 新安县| 多伦县| 色达县| 西华县| 方山县| 永川市| 长宁区| 都兰县| 老河口市| 特克斯县| 红安县| 新龙县| 迁西县|