最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

正則表達式概述 什么是正則表達式 .

 更新時間:2013年07月20日 22:57:26   作者:  
正則表達式就是用某種模式去匹配一類字符串的公式,主要用來描述字符串匹配的工具
正則表達式概述

正則表達式在程序設(shè)計語言中存在著廣泛的應(yīng)用,特別是用來處理字符串。如匹配字符串、查找字符串、替換字符串等??梢哉f,正則表達式是一段文本或一個公式,它是用來描述用某種模式去匹配一類字符串的公式,并且該公式具有一定的模式。
本小節(jié)將介紹正則表達式的基本概念、第一個正則表達式,以及測試正則表達式的工具Code Architects Regex Tester。


什么是正則表達式

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

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

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

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

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

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

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

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

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

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

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

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

相關(guān)文章

  • 能說明一下GETROWS的用法嗎?

    能說明一下GETROWS的用法嗎?

    能說明一下GETROWS的用法嗎?...
    2006-06-06
  • linux 正則表達式深度解析

    linux 正則表達式深度解析

    大體來講,正則表達式的文法分為3種標準:BRE、ERE 和 ARE。其中 BER 和 ERE 屬于 POSIX 標準,ARE 則是由各家定義的擴展
    2013-11-11
  • javascript常用正則表達式合集

    javascript常用正則表達式合集

    常用的正則驗證代碼,非常的全面,但因為是針對以前的版本,例如手機等,學習正則與使用正則驗證表單的朋友絕對值得參考。
    2010-08-08
  • 正則表達式直接在EXCEL中使用的詳細步驟

    正則表達式直接在EXCEL中使用的詳細步驟

    這篇文章主要介紹了正則表達式直接在EXCEL中使用的詳細步驟,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • 教你輕松記住JS正則表達式

    教你輕松記住JS正則表達式

    有沒有人像小編一樣,學了好幾遍正則表達式卻還是很懵圈,學的時候老明白了,學完了忘光了。好吧,其實還是練的不夠,今天就隨我來復(fù)習一下這傲嬌的正則表達式吧。
    2016-07-07
  • javascript正則表達式簡介

    javascript正則表達式簡介

    正則表達式就是一個用來描述字符模式的對象。它被用來在文本中執(zhí)行模式匹配(pattern-matching)以及”查找-替換”(search-and-replace)的任務(wù)。javascript中正則的風格類似Perl中正則的風格。
    2015-05-05
  • 最新密碼驗證正則表達式

    最新密碼驗證正則表達式

    這篇文章主要為大家分享了最新密碼驗證正則表達式,密碼形式可以根據(jù)開發(fā)需求進行設(shè)定,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • 利用正則表達式(只錄入中文,數(shù)字,英文)

    利用正則表達式(只錄入中文,數(shù)字,英文)

    利用正則表達式(只錄入中文,數(shù)字,英文)限制的代碼,好多情況下都需要。
    2009-08-08
  • 正則表達式匹配 非XXX的行

    正則表達式匹配 非XXX的行

    問題:如何匹配"非:.+123.123.123.10.+ " 行
    2008-07-07
  • grep正則表達式匹配中括號的方法實例

    grep正則表達式匹配中括號的方法實例

    正則中的括號有不同的意義,不同的字符在括號中也有不同的意義,下面這篇文章主要給大家介紹了關(guān)于grep正則表達式匹配中括號的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-09-09

最新評論

涡阳县| 新丰县| 泗水县| 镶黄旗| 阿克| 固始县| 光泽县| 涡阳县| 汶川县| 清河县| 昌江| 大化| 隆安县| 浙江省| 连云港市| 东台市| 小金县| 措美县| 遂溪县| 泉州市| 山阴县| 大埔县| 新田县| 宾川县| 永兴县| 昌平区| 九龙县| 监利县| 谷城县| 通道| 永川市| 茌平县| 和林格尔县| 左贡县| 铜鼓县| 射洪县| 宜兴市| 托里县| 莲花县| 兴义市| 南华县|