導航:首頁 > 創造發明 > 正則表達式是誰發明的

正則表達式是誰發明的

發布時間:2021-07-30 10:20:38

1. re正則表達式,這個代碼什麼意思(初學者)

這個正則就是匹配數字;
-?表示前面可以有一個可選的減號;
\d+表示一到多個數字,專(-?\d+)這個表示整屬數部分;
(\.\d+)?表示一個小數點跟多個數字,?表示前面這部分是可選的,這部分匹配一個可選的小數部分;
^(\d)$就是0-9的任意一個數字;
^表示以...開頭,\d表示0-9的數字,$表示以...結尾;
所以這個就是表示單個數字了。
正則表達式,又稱規則表達式。(英語:Regular Expression,在代碼中常簡寫為regex、regexp或RE),計算機科學的一個概念。正則表通常被用來檢索、替換那些符合某個模式(規則)的文本。
許多程序設計語言都支持利用正則表達式進行字元串操作。例如,在Perl中就內建了一個功能強大的正則表達式引擎。正則表達式這個概念最初是由Unix中的工具軟體(例如sed和grep)普及開的。正則表達式通常縮寫成「regex」,單數有regexp、regex,復數有regexps、regexes、regexen。

2. 正則表達式,匹配逗號

String str = "a:122,,122,,,21,,2,,,343";

str = str.replaceAll("(?<=\d+),{2,}(?=\d+)", ",");

System.out.println(str);

3. 火星文是誰發明的誰最先提出這個詞

火星文由符號、繁體字、日文、韓文、冷僻字或漢字拆分後的部分等非正規化文字元號組合而成 火星文 。咋看都像是亂碼或打錯的字,用法也不同於漢字那麼規范,從字面上根本無法了解。其實,「火星文」幾年前就作為一種游戲用語在泡泡堂流行,接著又通過QQ資料及聊天快速散播,成為許多年輕人的共用語言。據考證,「火星文」起源於我國台灣地區。一些上網族最初為了打字方便,用注音文替代一些常用文字在網上交流,達到了快速打字兼可理解內容的效果。很快,一些台灣網友覺得這種文字另類醒目,便把這種輸入方式發揚光大。隨著《勁舞團》等網游在大陸的流行,這一潮流隨著網游等渠道進入大陸,一部分網友開始延續這種獨特的文字,並自創了適合簡體 勁舞團 中文發揮的輸入方式,比如「勞エ」(老公)、「侽噴叐」(男朋友)、「蒶ロ耐·」(很可愛)「伱傃誰」(你是誰)。當使用人群和新生片語形成一定規模後,出現了一些熱衷軟體開發的網路高手製作出「火星文」專用軟體,在網上流行的有「大黑魚」、「我愛火星文」等軟體。轉換軟體的出現使得「火星文」具備了密碼功能,它成了一個群體保護隱私的方法。在受眾中,這年輕的群體成了火星文的追捧者和傳播者。有些「火星漢字」只能在《康熙字典》或《辭海》才能查到,一般的新華字典都查不到。中國現在部分的「90後」,因為凸顯個性而使用。 火星文,字面可解作火星人用的文字。隨著網際網路的普及,網友(尤其是年輕網友)開始大量使用以同音字、音近字、特殊符號來表音的文字。由於這種文字與日常生活中使用的文字相比有明顯的不同並且相當奇異,故被稱為火星文。 編輯本段發展經過 緣起:新輸入法誕生 考證,火星文最先源起於台灣 ,因倉頡、注音等繁體輸入法出現,網友在打字時會頻繁出現一些錯別字,久而久之,大家都能明白常見錯別字的意思,就默認使用了。 量變:為縮短打字時間採用符號+錯別字+方言 此後,網友為了縮短打字時間 ,在網上非正式場合就使用更方便的符號、方言和更多的錯別字來進行交流。 發展:覺得好玩,創造出新的片語 慢慢地,一部分覺得這種方式好玩, 便又創造出新的片語,比如「勞工」、「男盆友」、「粉口愛」、「你素誰」。 質變:在小圈子流行,網路達人發明轉換軟體 當使用人群和新生片語形成一定規模後, 出現了一些熱衷軟體開發的網路高手製作出「火星文」專用軟體,在網上流行的有「大黑魚」等軟體。 編輯本段來源 火星文最早起源是由於網友打繁體字時常出現的錯別字而慢慢形成。目前火星 火星文外掛 文已發展成為由中文繁體、日文、英文、古文字、表情符號組合而成的字體。 互聯網普及以後,大量年輕群體也成為忠實的網友。火星文於是作為一種網路次文化而出現。火星文的使用群體多為使用網路頻度最高的青少年,他們利用MSN等聊天工具和BBS將火星文傳播並迅速流行。青少年的同齡認同心理,游戲心理,標榜自我的個性使得火星文得以流行。火星文最早的名稱源自周星馳的電影《少林足球》,片中周星馳對於打扮怪異的女主角阿梅(趙薇飾)說:「你快點回火星吧,地球是很危險的!」火星一詞遂開始成為年輕族群形容不同尋常的怪異事物。 大陸火星文最早約出現於2002-2003年,由於網路游戲《奇跡》設立外掛舉報制度,眾玩家為規避舉報而使用近似亂碼之異體「漢字」作為人物名,以期達到令舉報者無法輸入被舉報角色名字之目的。爾後亂碼字作為時尚被應用到QQ資料,進而擴散到如今的各個場合。 對於火星文的最初來源已不可考,比較流行的說法是最早起源於台灣省的中小學,學生們用自創的「文字」進行加密交流以免被老師、家長截獲並破譯。後隨互聯網的普及在中國大陸生根發芽,並因「正則表達式匹配」式的內容審核而被大規模應用——很多網友反映,基於正則表達式匹配的內容審核不適用於中文這種復雜多變的語言,往往因為斷句、分詞的原因本不帶有「非法信息」的正常言論無法通過審核而火星文的出現提供了一種解決方案——雖然從認讀上會給大家帶來很多麻煩。 編輯本段種類 火星文種類繁多,而且沒有統一標准。同一句由不同人解讀可能有完全不同 火星文 的結果。以下列出幾種常見的火星文形式。但請注意,並非文章一出現以下用法,就是火星文。火星文的成立條件是:流行於特定的范圍或交際圈內,對其他非相關人可能會造成閱讀與理解困難的非正規文字。以下用法可能對某些人來說是家常便飯的正常用語,但對另一些人來說則是無法理解的「火星文」。 因此,火星文的判定其實是一個見仁見智的問題。 有些文字可能曾經是火星文,但是在時間長久與使用的積累下變成一種約定成俗的通用文字,如BTW(By the way)、CU(See you)等;有些則是地方語言的直接漢字化,如毛(么),偶(我)等;還有一些則為其他語言的音譯或者文字,如嘉年華(Carnival)私、仆(日語的「我」)。以上的類型通常不會被稱為火星文。 同音別字 台灣常用的注音輸入法和大陸常用的拼音輸入法,要完成一個文字的輸入,需要在輸入完整的注音符號後,再加上選字方能完成,但中文同音字的情況相當多,結果產生了許多不選字的使用者(大多是因為求快,懶得選字。也有少部分是國文能力不佳,沒有選字能力),而使得文章出現大量的同音別字。 例:我最喜歡再空閑的時候看輸了。 —— 「再」應為「在」;「輸」應為「書」 翻譯錯誤 常見於非中文電腦游戲的中文版。例如:《無冬之夜》中文版的錯誤廣為知名,其中又以踢牙老奶奶最受關注。許多網路使用者將這些錯誤譏為「火星文」,台灣英寶格更被譏為「火星文研究所」。部分網路使用者認為,這是火星文最早的用法和最早的出處。 注音文 部分網路使用者為了偷懶或裝可愛,將完整的注音拼音精簡化,取注音符號中的聲母來代表原本的文字,形成台灣地區特有的網路語言。 例:我愛我ㄉ家人。 ——「ㄉ」應為「的」 例:ㄋ們好ㄚ! ——「ㄋ」應為「你」;「ㄚ」應為「啊」 相似音/多字合一 火星文 也有將多個字合在一起表示的情況,或是使用發音相近的字取代原本的文字。 例:醬很好阿! —— 「醬」表示「這樣」的合音 例:表這樣做! —— 「表」表示「不要」的合音 例:偶口以跟你作朋友嗎? —— 「偶」應為「我」,此為台灣國語發音,故成「偶」;「口」應為「可」 例:3Q ——「3Q」為英文「Thank you」的相似音 例:這種few(fu)很好! ——「few(fu)」為英文「feel」的相似音;「 這種few(fu)很好!」表示「這種感覺很好!」 混合語言用語 閩南語用語(以國語諧音表示) 例:街系挖欸喀! —— 閩南語:這是我的腳。 例:揪! —— 閩南語:約。 例:龍模揪耶啦! —— 閩南語:都沒約的啦。 客家話用語(以國語諧音表示) 例:嘿咩,就是說阿! 火星文 —— 「嘿咩」正寫為「系咩」,是客家話的:「是阿」之意。 ——「崖」正寫為「我」,是客家話的:「我」之意。 ——「麥怪」正寫為「乜野」,是客家話的:「什麼」之意。 日文用語 例:你是我的好麻吉! —— 「麻吉」是日文中「朋友」的意思,所以翻譯為「你是我的好朋友」 例:私今天沒事做。 —— 「私」是日文「我」的意思。另外會出現這種文法是因為「私」在速成輸入法中與「我」相近(「我」,「私」) 英文用語 例:這年頭誰不用咕狗寫作業? —— 「咕狗」是Google的中文音譯 例:這是我的唉低 —— 「唉低」就是ID(identity)的音譯 例:今天好海皮! —— 直接使用英文「happy」或是相似中文發音代換中文的高興 沒有作文格式的文句 沒有做好排版或沒加標點符號造成閱讀困難的形式。 例:但在台灣社會中火星文的另一種解釋是指流行於台灣年輕族群中一種融合了各種語言符號 來替代中文漢字的次文化用語一般來說火星文並沒有嚴謹的定義運用上也不局限於網路用語通常 皆可泛稱為火星文,由於火星文是一種新出現的次文化因此在2006年1月22日23日中國 九十五學年度大學學科能力測驗國文科試題出現火星文時而備受爭議 (重組後文章:但在台灣社會中,火星文的另一種解釋是指「流行於台灣年輕族群中一種融合了各種語言符號來替代中文漢字」的次文化用語。一般來說,火星文並沒有嚴謹的定義,運用上也不局限於網路用語,通常只要讓人無法立即判定理解的文句皆可泛稱為火星文。由於火星文是一種新出現的次文化,因此在2006年1月22-23日,中國九十五學年度大學學科能力測驗國文科試題出現火星文時而備受爭議。) 符號標示 直接使用發音或意義相關的符號來取代字 例:你↓到我了! —— 使用「↓」取代「嚇」字 一般認為表情符號並不屬於火星文。 符號火星文大量利用象形、仿擬、飛白、比喻、諧音、擬人等手法構成新詞。除在構詞法上的隨意組合、任意搭配外,也使網路語言更加委婉,而委婉可以淡化語言中貶義或消極語義特徵,也可以掩蓋羞於的令人難堪的事實,避免交際中的尷尬和唐突現象,使語言具有幽默諷刺溫和的功能。 比如:典型的象形笑臉符:-),orz(跪在地上的小人),我們形容某人說話拐彎抹角用「很S(從S的外在形體上看)」,形容接吻為「種草莓」,設陷阱為「挖地洞」,形容人腦轉的慢、跟不上潮流為「286」;借用兒童的嗲語來表示委婉:PP(漂亮,鈔票),屁屁(屁股),怕怕(害怕),東東(東西);還在句末常用「喔、噢、的噢」等語氣詞作語綴來表示撒嬌或兒化,如「要記著去捧場噢」「慌亂是會出錯的噢」等。 總之,符號火星文這種獨特的文字創作,思考模式的趣味性,使網路族的溝通方式與生活增另一番情趣。他們使網路語言有意無意的體現出國際化、時尚化的特點。他們自創的語言不少是語言游戲式的,並非不尊重語言傳統規則,只是增添情趣來變化語言,玩上一會文字。 混和用法 混和用法由以上各種用法組合而成,是最容易造成閱讀困難的語文方式,絕大多數被稱為「火星文」的文句都是混和用法所產生的。 例:偶ㄉ電腦壞掉ㄌ害偶一整天都粉sad~ >"< /苊菂電腦壞扌卓叻,嗐硪⑴整忝嘟彳艮傷唚~ ──(中譯:我的電腦壞掉了,害我一整天都很傷心~) 例:1切斗4幻j,↓b倒挖d! ──(中譯:一切都是幻覺,嚇不倒我的!) 符號表情、象形圖案 一般認為表情符號並不屬於火星文。 異體字 而另外一種異體火星文,則只是藉助一些工具,將漢字轉換成形似或者音似的繁體字/異體字,一般的異體火星文即使沒接觸的人也大體可看懂,比如: 烸兲愛伱哆┅點 每天愛你多一點 通過工具將簡體字轉換成不常用的異體字,但大致上通過上下文可以猜出原意。之所以有人喜歡使用這種異體火星文,更多的反映了未成年人的叛逆心理,這種火星文,可以說沒有什麼創意,大多是通過工具機械的轉換而來,如果說符號火星文的使用顯出使用者的一種機智,那麼異體火星文僅僅反映出使用者的懶惰。這種標新立異,漠視常規,是典型的叛逆心理。 這種「異體火星文」幾年前就作為一種游戲用語在泡泡堂流行,接著又通過QQ資料,QQ簽名快速散播。對於異體火星文,有很多反對者,他們把異體火星文稱為「腦殘體」。 游戲簡寫 因為玩網路游戲打怪練功閑暇之虞會打屁聊聊天,有時處於沒空打字或是緊急情況下為節省時間簡略打字所延伸出來的產物。火星文很久以前就已經廣泛應用存在於各類游戲之內,也就是俗稱的術語。 游戲火星文 例如:「幫+4」等同於「幫加速」。 還有+5+6+7+8的應游戲不同各有各的簡稱。 經過長時間的演化,不再局限於游戲之中的術語框框,被大眾廣泛使用,使而延續至今。在游戲中最常見的有:[+U!]-[好好!],[沒U]-[你好],[77]—[88]-[99],[%%]-[$$],等等… 網路用語 對某些社會事件的調侃或諷刺 某些代表性的社會事件往往會促成網路火星文的產生,這些火星文多帶有調侃或諷刺的意味,多見於中國大陸。 例:我又被河蟹了 ——「河蟹」也作「和諧」,意指我的帖子又被刪除了(或網站被關了) 例:這帖很黃很暴力 ——「很黃很暴力」原本帶有反諷意味,與「很好很強大」類似,後來涵義被泛化,有時也指帖子的內容很強,讓人耳目一新等。 例:關我鳥事,我是出來打醬油的——對某些話題不願表態,多喻指網路上不談政治,不談敏感話題,以此話回帖而已。 例:我是來做俯卧撐的 ——涵義同上,表達對時事不關心、不評論,只做自己事的態度。 最初火星文 因為玩網路游戲打怪練功閑暇之虞會打屁聊聊天,有時處於沒空打字或是緊急情況下為節省時間簡略打字所延伸出來的產物。 火星文很久以前就已經廣泛應用存在於各類游戲之內,也就是俗稱的術語。 例如:「幫+4」等同於「幫加速」。「==」等同於「等等」 。 還有+5+6+7+8的應游戲不同各有各的簡稱。 經過長時間的演化,不再局限於游戲之中的術語框框,被大眾廣泛使用,使而延續至今。 在游戲中最常見的有:[+U!]-[好好!],[沒U]-[你好],[7 7]—[88]-[99],[%%]-[$$],等等…… 編輯本段使用群體 在大量的85後,90後,95後一族中有所使用,在游戲玩家中也屢屢出現火星文的角色名字。 另外,在軍事通信領域也用一些所謂的「火星文」。 編輯本段使用方法 火星文可分為偏旁部首,象形,混合,分離三種。 偏旁部首:主要看偏旁 (例如:涐諟焱謃亼。。)象形:看著像什麼就讀什麼。(例如:‰↑,翻譯過來就是樓上)分離:主要是把字的偏旁部首分開(例如: 弓長 , 女子。。)混合:結合上面的方法看,有時還有修飾符號(例如:涐璦焱謃☆℃)再者就是使用繁體字(例如:繁體芓),偶爾也會創造一些根據現有文獻無法翻譯的文字,這也能理解,畢竟是火星文嘛! 現在越來越多的80後90後年輕人人開始說火星語了。 80後,90後,這些新時期成長起來的一代,為了彰顯個性,一種被斥為「非主流」的網路語言,開始大面積流行開來。 這種非主流語言,說簡單點就是用[繁體字][異體字][同音字][錯別字]來替換正常的文字。尤其是前兩者。 莓兲想埝禰巳宬儰⒈種漝慣 每天想念你已成為一種習慣 前面一行,如果你不仔細看每一個字,只掃一眼,也能「看」明白,如果仔細看每一個字,又有多少認識呢?這種「有趣」的文字對於喜歡新奇的未成年人無疑是一種巨大的誘惑,這從這種文字在QQ網名和簽名上的泛濫可見一斑。 當然這種文字被一些專家學者認為是有損語言純潔的有害物質,「火星文」也因此得名。早期也被稱作真筆字。既然是新生的事物,其實叫什麼名字並不重要,按照一般的習慣,在這里我們這樣定義: 火星文這個詞比較形象也被大多數人接受,我們還直接使用他,用來泛指各種網路(也包括日常)的另類語言。然後我們再把火星文細分成兩大類: 符號火星文 各種表情符號包括傳統的:)和新興的orz(不認識這個符號?說明你是80前的,有些落伍了哦,這是一個跪在地上的小人,代表郁悶,佩服等含義)等等,還有各種速記的符號比如u,4,886等等。這種火星文應該被認為是比較正宗有創意的,一旦明白含義,是人大都會會心一笑。當然不熟悉的人可能完全看不明白,尤其是大量運用縮寫時。一般的錯別字音譯字往往也歸在此類比較合適,比如[粉] 異體火星文 異體火星文=腦殘體,這種文字可是說除了有趣沒太多意思,目前網上各種自動轉換工具,甚至輸入法都已經流傳開來,可以認為只是把文字做了一次轉換罷了。這種文字反而是即使完全不熟悉的人也大略能看懂。 很多人不同意腦殘體屬於火星文,他們大多對腦殘體極度反感欲除之而後快,但又鍾情於符號火星文,這種口水仗其實不會有任何結果,我們這里只是按照一般習慣還是把腦殘體作為一種火星文,畢竟許多腦殘體的工具、用戶都稱自己使用的是火星文輸入法,說的是火星語。同時我們把只包含繁體字、異體字和生僻字的稱作[純異體火星文]。[純異體火星文]幾乎只能在網路上使用,往往還要藉助一些專用的火星文轉換器,因為日常使用太不方便。這兩類東西差別還是很明顯,但是也有不少共性,同樣冠以火星文也未嘗不可啊。 最後小結 火星文,作為一種娛樂工具,有其存在發展的合理性,特別是符號火星文,可以作為網路文化的一個重要組成部分。至於異體火星文,如果把它當作一種美術裝飾字,不要看做文字而當作圖片來對待,尤其是在QQ簽名這樣的地方大量使用。 對於火星文的看法,每個人的說法都不一樣。 [1] 編輯本段字義破解 符號火星文主要有兩大類寫法:象形、擬音。 1.象形 如果只知道「orz」(五體投地,用於小孩)而不知道「or2」(五體投地, Orz 用於翹屁股的)和「orz6」(偶認栽咯)等擴展用法,火星文的皮毛 都沒有掌握。有時候,你覺得那些字看起來像什麼東西,那麼它們表達的很有可能就是你想到的東西。 2.擬音 讀起來像是什麼字,表達的就是什麼字。比如「u」(音似「有」,「呦」 等)、「4」(音似「是」,「事」,「世」等)。 3.異體火星文 除了通過工具生成,手工一般主要通過:合並的方法來書寫。 4.合並 經典的「弓雖」(強)、「丁頁」(頂)已經落伍,「彥頁刀巴「(顏色)、」亻壬ィ可」(任何)也不算時興。看到別扭的兩個偏旁或者單字,就試著把他們合並起來理解吧。 5. IM俗語放送 舉例說明:「迷你滾」指比「滾」更親密,小滾一下,應該是來自那個MSN頭像上在打滾的豆子人;「書法家」指一個人把一個八字兒沒一撇的事兒,愣是寫成了有型有款的烏托邦;「Orz」=「佩服得五體投地」。 6.論壇 舉例說明:「老衲」指在跟帖中無事生非的灌水者,曾一度在網易跟帖中頗為活躍。「菊花酵母」在文藝論壇中指得是80後作家郭敬明。「人不能太八分齋了」在天涯論壇指得是「人不能太裝了」。 7.網路游戲 舉例說明:「小D」是對網路游戲《魔獸世界》里德魯依的稱呼,「1004」在《勁舞團》里是「天使」的意思。 基本用戶群 在大量90後一族中廣泛使用,在游戲玩家中也屢屢出現火星文的角色名字 編輯本段火星文輸入法基本介紹 「火星文輸入法」是一款超炫的火星文即時轉換軟體,時下QQ用戶的新寵,非主流一族的最愛!請注意,它可不是單純的輸入法軟體哦,而是可以兼容所有中文輸入法(例如搜狗拼音輸入法、極品五筆輸入法等)的外掛程序。無論您用拼音還是五筆輸入法打字,它都能把文字自動轉換為酷酷的火星文,無需改變原有的打字習慣。除此之外,還能隨時切換火星文、繁體、簡體三種狀態,隨意打出像*^_^*、(⊙o⊙)、(^_^)/~~這樣的個性火星符號,方便極了! 最新版「火星文輸入法」的軟體界面煥然一新,提供了5種皮膚(有女生專用皮膚哦)供您選擇,還增加了火星文轉換器、QQ簽名美化、線體字轉換器等多款火星文工具,以及自定義火星文、火星符號等實用功能……更多神秘功能期待您下載體驗! 「火星文輸入法」被廣泛應用於QQ聊天、QQ空間、QQ網名、QQ個性簽名、博客、論壇、網路游戲等,自推出以來,獲得了網友的一致好評! 軟體特點 1.隨心打火星文 「火星文輸入法」可以隨心所欲打出各式字母數字火星文、拆字火星文,還有全新「閃字」功能,馬上試試吧! 輸入法外掛 2.兼容所有輸入法 「火星文輸入法」支持搜狗、谷歌、五筆輸入,只要你想得到的輸入法,都能隨手變成火星文! 3.支持多種應用 「火星文輸入法」支持QQ、MSN、51掛掛等一切聊天工具,用於寫昵稱、換簽名、玩游戲、頂貼子、踩博客。 4. 超酷火星符號 「火星文輸入法」收集並更新網上最潮表情,如「o(∩_∩)o」、「じòぴé」、「囧rz」等等,並提供自定義功能。 5.超炫皮膚隨心換 「火星文輸入法」全新炫彩皮膚,配有可愛卡通動物裝飾,HELLO KITTY、嘻哈猴、黑黑豬等四款皮膚可隨心更換! 6.火星文隨機打 「火星文輸入法」1個漢字隨機打出不同的火星文,如「愛」可以打出「噯」、「璦」、「à!」。適合展現不同的你!

4. 高級Java開發中什麼是正則表達式

Java 正則表達式
正則表達式定義了字元串的模式。
正則表達式可以用來搜索、編輯或處理文本。
正則表達式並不僅限於某一種語言,但是在每種語言中有細微的差別。
Java正則表達式和Perl的是最為相似的。
java.util.regex包主要包括以下三個類:
Pattern類:
pattern對象是一個正則表達式的編譯表示。Pattern類沒有公共構造方法。要創建一個Pattern對象,你必須首先調用其公共靜態編譯方法,它返回一個Pattern對象。該方法接受一個正則表達式作為它的第一個參數。
Matcher類:
Matcher對象是對輸入字元串進行解釋和匹配操作的引擎。與Pattern類一樣,Matcher也沒有公共構造方法。你需要調用Pattern對象的matcher方法來獲得一個Matcher對象。
PatternSyntaxException:
PatternSyntaxException是一個非強制異常類,它表示一個正則表達式模式中的語法錯誤。
舉例:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexMatches
{
public static void main( String args[] ){

// 按指定模式在字元串查找
String line = "This order was placed for QT3000! OK?";
String pattern = "(.*)(\\d+)(.*)";

// 創建 Pattern 對象
Pattern r = Pattern.compile(pattern);

// 現在創建 matcher 對象
Matcher m = r.matcher(line);
if (m.find( )) {
System.out.println("Found value: " + m.group(0) );
System.out.println("Found value: " + m.group(1) );
System.out.println("Found value: " + m.group(2) );
} else {
System.out.println("NO MATCH");
}
}
}

5. 正則解惑

前後的/是正則表達式內容的開始和結束,類似字元串的引號一樣,是一個固定的語法規定,正則表達式後面的字元是修飾或者選項,例如你這的g表示多次匹配,表示匹配所有滿足匹配的項目,特別是在替換裡面有用,如果沒有g就只替換第一個。

6. 正則表達式 1-9任意數字

正則表達式 1-9任意數字:[1-9] 。

(6)正則表達式是誰發明的擴展閱讀:

正則表達式,又稱規則表達式。(英語:Regular Expression,在代碼中常簡寫為regex、regexp或RE),計算機科學的一個概念。正則表達式通常被用來檢索、替換那些符合某個模式(規則)的文本。

許多程序設計語言都支持利用正則表達式進行字元串操作。例如,在Perl中就內建了一個功能強大的正則表達式引擎。正則表達式這個概念最初是由Unix中的工具軟體(例如sed和grep)普及開的。正則表達式通常縮寫成「regex」,單數有regexp、regex,復數有regexps、regexes、regexen。

7. 正則表達式是誰發明的,有什麼用

一個正則表達式是含有一些具有特殊意義字元的字元串,這些特殊字元串稱作正則表達式中的元字元。
如:
JAVA中「\\dhello」中的\\d就是有特殊意義的元字元,代表0到9中的任何一個數字。

8. 什麼是正則表達式舉例說明一下

目前,正則表達式已經在很多軟體中得到廣泛的應用,包括*nix(Linux, Unix等),HP等操作系統,PHP,C#,Java等開發環境,以及很多的應用軟體中,都可以看到正則表達式的影子。

正則表達式的使用,可以通過簡單的辦法來實現強大的功能。為了簡單有效而又不失強大,造成了正則表達式代碼的難度較大,學習起來也不是很容易,所以需要付出一些努力才行,入門之後參照一定的參考,使用起來還是比較簡單有效的。

例子: ^.+@.+\\..+$

2. 正則表達式的歷史

正則表達式的「祖先」可以一直上溯至對人類神經系統如何工作的早期研究。Warren McCulloch 和 Walter Pitts 這兩位神經生理學家研究出一種數學方式來描述這些神經網路。
1956 年, 一位叫 Stephen Kleene 的數學家在 McCulloch 和 Pitts 早期工作的基礎上,發表了一篇標題為「神經網事件的表示法」的論文,引入了正則表達式的概念。正則表達式就是用來描述他稱為「正則集的代數」的表達式,因此採用「正則表達式」這個術語。

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

如他們所說,剩下的就是眾所周知的歷史了。從那時起直至現在正則表達式都是基於文本的編輯器和搜索工具中的一個重要部分
3. 正則表達式定義
正則表達式(regular expression)描述了一種字元串匹配的模式,可以用來檢查一個串是否含有某種子串、將匹配的子串做替換或者從某個串中取出符合某個條件的子串等。

列目錄時, dir *.txt或ls *.txt中的*.txt就不是一個正則表達式,因為這里*與正則式的*的含義是不同的。
正則表達式是由普通字元(例如字元 a 到 z)以及特殊字元(稱為元字元)組成的文字模式。正則表達式作為一個模板,將某個字元模式與所搜索的字元串進行匹配。

3.1 普通字元
由所有那些未顯式指定為元字元的列印和非列印字元組成。這包括所有的大寫和小寫字母字元,所有數字,所有標點符號以及一些符號。

3.2 非列印字元 字元 含義
\cx 匹配由x指明的控制字元。例如, \cM 匹配一個 Control-M 或回車符。x 的值必須為 A-Z 或 a-z 之一。否則,將 c 視為一個原義的 'c' 字元。
\f 匹配一個換頁符。等價於 \x0c 和 \cL。
\n 匹配一個換行符。等價於 \x0a 和 \cJ。
\r 匹配一個回車符。等價於 \x0d 和 \cM。
\s 匹配任何空白字元,包括空格、製表符、換頁符等等。等價於 [ \f\n\r\t\v]。
\S 匹配任何非空白字元。等價於 [^ \f\n\r\t\v]。
\t 匹配一個製表符。等價於 \x09 和 \cI。
\v 匹配一個垂直製表符。等價於 \x0b 和 \cK。

3.3 特殊字元

所謂特殊字元,就是一些有特殊含義的字元,如上面說的"*.txt"中的*,簡單的說就是表示任何字元串的意思。如果要查找文件名中有*的文件,則需要對*進行轉義,即在其前加一個\。ls \*.txt。正則表達式有以下特殊字元。

特別字元 說明
$ 匹配輸入字元串的結尾位置。如果設置了 RegExp 對象的 Multiline 屬性,則 $ 也匹配 '\n' 或 '\r'。要匹配 $ 字元本身,請使用 \$。
( ) 標記一個子表達式的開始和結束位置。子表達式可以獲取供以後使用。要匹配這些字元,請使用 \( 和 \)。
* 匹配前面的子表達式零次或多次。要匹配 * 字元,請使用 \*。
+ 匹配前面的子表達式一次或多次。要匹配 + 字元,請使用 \+。
. 匹配除換行符 \n之外的任何單字元。要匹配 .,請使用 \。
[ 標記一個中括弧表達式的開始。要匹配 [,請使用 \[。
? 匹配前面的子表達式零次或一次,或指明一個非貪婪限定符。要匹配 ? 字元,請使用 \?。
\ 將下一個字元標記為或特殊字元、或原義字元、或向後引用、或八進制轉義符。例如, 'n' 匹配字元 'n'。'\n' 匹配換行符。序列 '\\' 匹配 "\",而 '\(' 則匹配 "("。
^ 匹配輸入字元串的開始位置,除非在方括弧表達式中使用,此時它表示不接受該字元集合。要匹配 ^ 字元本身,請使用 \^。
{ 標記限定符表達式的開始。要匹配 {,請使用 \{。
| 指明兩項之間的一個選擇。要匹配 |,請使用 \|。

構造正則表達式的方法和創建數學表達式的方法一樣。也就是用多種元字元與操作符將小的表達式結合在一起來創建更大的表達式。正則表達式的組件可以是單個的字元、字元集合、字元范圍、字元間的選擇或者所有這些組件的任意組合。

3.4 限定符

限定符用來指定正則表達式的一個給定組件必須要出現多少次才能滿足匹配。有*或+或?或{n}或{n,}或{n,m}共6種。
*、+和?限定符都是貪婪的,因為它們會盡可能多的匹配文字,只有在它們的後面加上一個?就可以實現非貪婪或最小匹配。
正則表達式的限定符有:

字元 描述
* 匹配前面的子表達式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。* 等價於{0,}。
+ 匹配前面的子表達式一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等價於 {1,}。
? 匹配前面的子表達式零次或一次。例如,"do(es)?" 可以匹配 "do" 或 "does" 中的"do" 。? 等價於 {0,1}。
{n} n 是一個非負整數。匹配確定的 n 次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的兩個 o。
{n,} n 是一個非負整數。至少匹配n 次。例如,'o{2,}' 不能匹配 "Bob" 中的 'o',但能匹配 "foooood" 中的所有 o。'o{1,}' 等價於 'o+'。'o{0,}' 則等價於 'o*'。
{n,m} m 和 n 均為非負整數,其中n <= m。最少匹配 n 次且最多匹配 m 次。例如,"o{1,3}" 將匹配 "fooooood" 中的前三個 o。'o{0,1}' 等價於 'o?'。請注意在逗號和兩個數之間不能有空格。

3.5 定位符

用來描述字元串或單詞的邊界,^和$分別指字元串的開始與結束,\b描述單詞的前或後邊界,\B表示非單詞邊界。不能對定位符使用限定符。

3.6 選擇

用圓括弧將所有選擇項括起來,相鄰的選擇項之間用|分隔。但用圓括弧會有一個副作用,是相關的匹配會被緩存,此時可用?:放在第一個選項前來消除這種副作用。
其中?:是非捕獲元之一,還有兩個非捕獲元是?=和?!,這兩個還有更多的含義,前者為正向預查,在任何開始匹配圓括弧內的正則表達式模式的位置來匹配搜索字元串,後者為負向預查,在任何開始不匹配該正則表達式模式的位置來匹配搜索字元串。

3.7 後向引用

對一個正則表達式模式或部分模式兩邊添加圓括弧將導致相關匹配存儲到一個臨時緩沖區中,所捕獲的每個子匹配都按照在正則表達式模式中從左至右所遇到的內容存儲。存儲子匹配的緩沖區編號從 1 開始,連續編號直至最大 99 個子表達式。每個緩沖區都可以使用 '\n' 訪問,其中 n 為一個標識特定緩沖區的一位或兩位十進制數。
可以使用非捕獲元字元 '?:', '?=', or '?!' 來忽略對相關匹配的保存。

9. 誰發明 零寬斷言 這個詞

贊一個,「表達式規則」就顧名思義了。『零寬斷言』,『Lookahead and Lookbehind Zero-Length Assertions』直譯過來的,功能上它去匹配了字元串,只告訴你匹配是否成功。Zero-Length,不消費任何字元;Assertions,成功還是失敗,所以是斷言。改名叫『不佔用字元匹配』嗎?總之,都不是很容易被理解的。

閱讀全文

與正則表達式是誰發明的相關的資料

熱點內容
創造性的提出了思想建黨的原則 瀏覽:890
品管圈成果匯報書 瀏覽:381
京韻花園糾紛 瀏覽:895
衛生服務站公共衛生考核方案 瀏覽:62
快遞時效投訴 瀏覽:782
世紀創造絕緣有限公司 瀏覽:600
聚投訴珍愛網 瀏覽:47
公共衛生服務協議書2017 瀏覽:805
改革工作成果匯報 瀏覽:49
醫療糾紛管理倫理的主要要求不包括 瀏覽:959
工業光魔創造不可能720p 瀏覽:243
君主立憲制是法國大革命的成果 瀏覽:13
王成果青島科技大學 瀏覽:519
護理品管圈成果匯報書 瀏覽:875
使用權獲取途徑 瀏覽:759
怎麼投訴奧迪4s店 瀏覽:31
美術教師校本研修成果 瀏覽:740
股權轉讓合同模板 瀏覽:638
知識產權部門重點的工作計劃範文 瀏覽:826
用地批准書能證明土地的使用權權嗎 瀏覽:829