国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

從編程語言的角度來理解正則表達(dá)式

這篇具有很好參考價值的文章主要介紹了從編程語言的角度來理解正則表達(dá)式。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

程序代碼是對現(xiàn)實事物處理邏輯的抽象,而正則表達(dá)式,則是對復(fù)雜的字符匹配程序代碼的進(jìn)一步抽象;也就是說,高度簡潔的正則表達(dá)式,可以認(rèn)為其背后所對應(yīng)的,是字符匹配程序代碼,而字符匹配程序代碼,背后對應(yīng)的是字符匹配處理邏輯。

字符匹配處理邏輯,可以抽象為字符匹配程序代碼;字符匹配程序代碼,可以再進(jìn)一步,抽象為高度簡潔的正則表達(dá)式。

從編程語言的角度來理解正則表達(dá)式,正則表達(dá)式,正則表達(dá)式

相對于字符匹配程序代碼,正則表達(dá)式不需要使用 if、then、else 等關(guān)鍵字,也不需要調(diào)用 find、showMessage 等函數(shù),這些在正則表達(dá)式中都已經(jīng)隱含了。也就是說,正則表達(dá)式解析引擎,會自動按類似邏輯進(jìn)行解析,這也就是正則表達(dá)式“高度簡潔”的體現(xiàn)。

編程語言的發(fā)展歷程:

從編程語言的角度來理解正則表達(dá)式,正則表達(dá)式,正則表達(dá)式

序員主要負(fù)責(zé)分析問題,以及使用第 4 代語言來描述問題,而無需花費大量時間,去考慮具體的處理邏輯和算法實現(xiàn),處理邏輯和算法實現(xiàn)是由編譯器(Compiler)或解釋器(Interpreter)這樣的語言解析引擎來負(fù)責(zé)的。

編程范式(Programming Paradigm),指的是計算機編程中的基本風(fēng)格和典范模式,是程序員在其所創(chuàng)造的程序虛擬世界中自覺不自覺地所采用的世界觀和方法論。

常見的編程范式大致上有:命令式、聲明式(包括了函數(shù)式、邏輯式等)、面向?qū)ο笫?、泛型式、并發(fā)式、切面式等。每種編程范式都引導(dǎo)著程序員,根據(jù)其特有的傾向(即世界觀)和思路(即方法論)去分析和解決編程問題。

1、命令式編程

命令式編程范式,主要就是模擬電腦運算的過程。更進(jìn)一步地來說,是直接模擬目前主流的馮·諾依曼機(Von Neumann Machine)的運算過程,是對馮·諾伊曼機運行機制的抽象。

馮·諾伊曼機的基本特點是,在程序計數(shù)器的集中控制下,按順序依次從內(nèi)存中獲取指令和數(shù)據(jù),然后進(jìn)行執(zhí)行,因此它是以控制驅(qū)動的控制流方式工作的。與馮·諾依曼機相對應(yīng)的還有以數(shù)據(jù)驅(qū)動的數(shù)據(jù)流方式工作的數(shù)據(jù)流機,以及以需求驅(qū)動的數(shù)據(jù)流方式工作的歸約機等。

采用命令式編程范式的程序,是由若干行動指令所組成的有序指令列表,也就是由一系列指明執(zhí)行順序的祈使句——“先做這,再做那”所組成,屬于行動導(dǎo)向,強調(diào)的是定義問題的解法——即“怎么做”,因而算法是顯性的而目標(biāo)是隱性的。因此,從編程范式的角度來看:

  • 命令式編程的世界觀是:程序是由若干行動指令組成的有序列表;
  • 命令式編程的方法論是:用變量來存儲數(shù)據(jù),用語句來執(zhí)行指令。

2、聲明式編程范式

聲明式編程范式,主要是模擬人腦思維的過程。聲明式重目標(biāo)、輕過程,專注問題的分析和表達(dá),而不是算法實現(xiàn)。它不用指明執(zhí)行順序,屬于目標(biāo)導(dǎo)向,強調(diào)的是定義問題的描述——即“做什么”,因而目標(biāo)是顯性而算法是隱性的。

從編程范式的角度來看:聲明式編程的世界觀是:

  • 程序是由若干目標(biāo)任務(wù)組成的有序列表;
  • 聲明式編程的方法論是:用語法元素來描述任務(wù),由解析引擎轉(zhuǎn)化為指令并執(zhí)行。

聲明式編程的代表語言為 SQL、SAS、SPSS、LaTeX、Regex(即正則表達(dá)式)等。

正則從編程范式的角度上來看,其實是屬于聲明式編程范式,并且是專用于處理文本查找匹配這個特定領(lǐng)域的專門語言。

正則表達(dá)式中的語法元素——元字符、元轉(zhuǎn)義序列與特殊結(jié)構(gòu),可理解為某種具體的程序邏輯和算法的體現(xiàn)。注意,這里提到的元轉(zhuǎn)義序列,指的是相對于將元字符轉(zhuǎn)義為字符本義的普通轉(zhuǎn)義序列來說的。

此文章為8月Day30學(xué)習(xí)筆記,內(nèi)容來源于極客時間《正則表達(dá)式入門課》,推薦該課程。文章來源地址http://www.zghlxwxcb.cn/news/detail-698467.html

到了這里,關(guān)于從編程語言的角度來理解正則表達(dá)式的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Shell編程基礎(chǔ)(十三)正則表達(dá)式

    格式:^ 表達(dá)式 $ 在不同的場景下,定義是一樣,但使用要按照具體的命令去調(diào)用,中間的表達(dá)式都是通用的 普通元字符 所謂元數(shù)據(jù),就是描述數(shù)據(jù)的數(shù)據(jù),在這里就是描述正則的數(shù)據(jù) ^ 表示正則從字符串 整行 起始位置匹配 ^abc 匹配 以abc開始的字符串 $ 表示正則一直匹配到

    2024年02月14日
    瀏覽(23)
  • 正則表達(dá)式的匹配(py編程)

    1. 匹配單個字符 在上一小節(jié)中,了解到通過re模塊能夠完成使用正則表達(dá)式來匹配字符串 本小節(jié),將要講解正則表達(dá)式的單字符匹配 代碼 功能 . 匹配任意1個字符(除了n) [ ] 匹配[ ]中列舉的字符 d 匹配數(shù)字,即0-9 D 匹配非數(shù)字,即不是數(shù)字 s 匹配空白,即 空格,tab鍵

    2024年02月02日
    瀏覽(23)
  • 【深入理解ES6】字符串和正則表達(dá)式

    字符串(String)是JavaScript6大原始數(shù)據(jù)類型。其他幾個分別是Boolean、Null、Undefined、Number、Symbol(es6新增)。 字符串里的字符有兩種: 前??個碼位均以16位的編碼單元表示的BMP字符(基本多文種平面。 超過??的UTF-16引入了代理對,以兩個編碼單元32位表示輔助平面字符。 ES5中

    2024年02月13日
    瀏覽(26)
  • 【Linux命令行與Shell腳本編程】第十九章 正則表達(dá)式

    【Linux命令行與Shell腳本編程】第十九章 正則表達(dá)式

    正則表達(dá)式基礎(chǔ) 定義BRE模式 擴展正則表達(dá)式 在sed和gawk中創(chuàng)建正則表達(dá)式,以得到所需的數(shù)據(jù)。 正則表達(dá)式是一種可供Linux工具過濾文本的自定義模板,使用元字符來描述數(shù)據(jù)流中的一個或多個字符. Linux工具(比如sed或gawk)會在讀取數(shù)據(jù)時使用正則表達(dá)式對數(shù)據(jù)進(jìn)行模式匹配

    2024年02月13日
    瀏覽(24)
  • 【Go】Go 文本匹配 - 正則表達(dá)式基礎(chǔ)與編程中的應(yīng)用 (8000+字)

    【Go】Go 文本匹配 - 正則表達(dá)式基礎(chǔ)與編程中的應(yīng)用 (8000+字)

    ???????? 本文共計8361字,預(yù)計閱讀時間18分鐘 ????????正則表達(dá)式(Regular Expression, 縮寫常用regex, regexp表示)是計算機科學(xué)中的一個概念,很多高級語言都支持正則表達(dá)式。 目錄 何為正則表達(dá)式 語法規(guī)則 普通字符 字符轉(zhuǎn)義 限定符 定位符 分組構(gòu)造 模式匹配 regexp包

    2024年02月12日
    瀏覽(23)
  • Linux Shell 腳本編程學(xué)習(xí)之【第3章 正則表達(dá)式 (第一部分)】

    1、正則表達(dá)式是由一串字符和元字符構(gòu)成的字符串,簡稱 RE(Regular Expression)。 2、正則表達(dá)式起到數(shù)據(jù)過濾作用。 3、POSIX 標(biāo)準(zhǔn)將正則表達(dá)式分為兩類:基本的正則表達(dá)式和擴展的正則表達(dá)式,大部分 Linux 應(yīng)用和工具僅支持基本的正則表達(dá)式。 Linux Shell 以一串字符作為表達(dá)式

    2024年02月16日
    瀏覽(24)
  • Linux Shell 腳本編程學(xué)習(xí)之【第3章 正則表達(dá)式 (第二部分) grep命令】

    1、文本搜索工具 2、GREP 是Global search Regular Expression and Print out the line的簡稱,即全面搜索正則表達(dá)式并把行打印出來。 3、grep命令的模式十分靈活,可以是字符串,也可以是變量,還可以是正則表達(dá)式。模式中包含空格,則必須用雙引號括起來。 選 項 意 義 -c 只輸出匹配行

    2024年02月16日
    瀏覽(19)
  • Go基礎(chǔ)12-理解Go語言表達(dá)式的求值順序

    Go語言在變量聲明、初始化以及賦值語句上相比其先祖C語言做了一些改進(jìn),諸如: ● 支持在同一行聲明和初始化多個變量(不同類型也可以) ● 支持在同一行對多個變量進(jìn)行賦值 這種語法糖在給我們帶來便利的同時,也可能帶來一些令人困惑的問題。 Go語言之父Rob Pike在

    2024年02月09日
    瀏覽(31)
  • 【自然語言處理】NLP入門(一):1、正則表達(dá)式與Python中的實現(xiàn)(1):字符串構(gòu)造、字符串截取

    【自然語言處理】NLP入門(一):1、正則表達(dá)式與Python中的實現(xiàn)(1):字符串構(gòu)造、字符串截取

    ?? 語言 是一種使用具有共同處理規(guī)則的溝通指令的廣義概念,這些指令可以通過視覺、聲音或觸覺等方式傳遞。語言可以分為自然語言、動物語言和計算機語言。 ?? 自然語言 是人類發(fā)展過程中形成的一種信息交流方式,它包括口語和書面語,并且反映了人類的思想。

    2024年03月12日
    瀏覽(90)
  • 函數(shù)探秘:深入理解C語言函數(shù),實現(xiàn)高效模塊化編程

    函數(shù)探秘:深入理解C語言函數(shù),實現(xiàn)高效模塊化編程

    ?? 歡迎大家來到貝蒂大講堂?? ????養(yǎng)成好習(xí)慣,先贊后看哦~???? 所屬專欄:C語言學(xué)習(xí) 貝蒂的主頁:Betty‘s blog 在數(shù)學(xué)中我們就知道了函數(shù)這個概念,而C語言同樣引入了函數(shù)這個概念,那C語言的函數(shù)到底是什么樣的呢? 在C語言中, 函數(shù)也叫子程序,它是一段可以

    2024年03月09日
    瀏覽(96)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包