a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > Regex > 正文

僅1個例子輕松學習正則表達式

2020-03-22 20:24:03
字體:
來源:轉載
供稿:網友
html' target='_blank'>正則表達式的語法就不多說了,大家可以自己搜索查閱相關資料學習。本文所舉例子是在《JavaScript語言精粹》上看到的,看完之后對正則表達式有了進一步的理解,故分享之。例子
//這是一個用來匹配URL的正則表達式,分組獲取不同部分的信息var parse_url = /^( :([A-Za-z]+):) (//{0,3})([0-9./-A-Za-z]+)( ::(/d+)) ( ://([^ #]*)) ( :/ ([^#]*)) ( :#(.*)) var url = "http://www.ora.com:80/goodparts q#fragment";var result = parse_url.exec(url);var names = ["url", "scheme", "slash", "host", "port", "path", "query", "hash"];var i;for (i = 0; i names.length; i++) { document.writeln(names[i] + ": " + result[i] + " br/ //這段代碼的輸出結果如下:url: http://www.ora.com:80/goodparts q#fragmentscheme: httpslash: //host: www.ora.comport: 80path: goodpartsquery: qhash: fragment解析
下面讓我們分解parse_url的各個部分,看看它是如何工作的:^
^字符表示此字符串的開始,它是一個錨,指引exec不要跳過那些不像URL的前綴,只匹配那些從開頭就像URL一樣的字符串。( :([A-Za-z]+):)
這個因子匹配一個協議名,但僅當它后面跟隨一個 :(冒號)的時候才匹配。( : . . .)表示一個非捕獲型分組(noncapturing group)。后綴 表示這個分組是可選的,它表示重復0次或1次。( . . .)表示一個捕獲型分組。一個捕獲型分組會復制它所匹配的文本,并把其放到result數組里。每個捕獲型分組都會被指定一個編號。第一個捕獲型分組的編號是1,所以該分組所匹配的文本副本會出現在result[1]中。 [ . . .]表示一個字符類。A-Za-z這個字符類包含26個大寫字母和26個小寫字母。連接字符 - 表示范圍從A-Z。后綴 + 表示這個字符類會被匹配一次或多次。這個組后面跟著字符 : ,它會按字面進行匹配。(//{0,3})
這個因子是捕獲型分組2,匹配//。/ /表示應,該匹配 / (斜杠)。它用 / (反斜杠)來進行轉義,這樣它就不會被錯誤地解釋為這個正則表達式的結束符。后綴 {0,3} 表示 / 會匹配0~3次。([0-9./-A-Za-z]+)
這個因子是捕獲型分組3。它會匹配一個主機名,由一個或多個數字、字母以及 . 或 - 字符組成。- 會被轉義為 /- 以防止與表示范圍的連字符相混淆。( ::(/d+))
這個可選的因子匹配端口號,它是由一個前置 : 加上一個或多個數字而組成的序列。/d表示一個數字字符。一個或多個數字組成的數字串會被捕獲型分組4捕獲。( ://([^ #]*))
這個因子也是可選的分組,匹配路徑。該分組以一個 / 開始。之后的字符類[^ #]以一個^開始,它表示這個類包含除 和 # 之外的所有字符。* 表示這個字符類會被匹配0次或多次。注意我在這里的處理是不嚴謹的。這個類匹配除 和 # 之外的所有字符,其中包括了行結束符、控制字符、以及其他大量不應在此被匹配的字符。大多數情況下,它會按照我們的預期去做,但某些惡意文本可能會有滲漏進來的風險。不嚴謹的正則表示式是一個常見的安全漏洞發源地。寫不嚴謹的正則表達式比寫嚴謹的正則表示式要容易的多。( :/ ([^#]*))
這個因子是一個以一個 開始的可選分組。它包含捕獲型分組6,這個分組包含0個或多個非#字符。( :#(.*))
這個因子是以 # 開始的可選分組。. 會匹配除行結束符以外的所有字符。$
$表示這個字符串的結束。它保證在這個URL的尾部沒有其他更多的內容了。通過這個簡單例子,相信大家對正則表達式有了更進一步的理解,祝大家學習愉快!PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲电影免费 | 色综合99| 日韩精品一区二区三区中文字幕 | 黄色片在线 | 超碰在| 亚洲一二三| 久久另类 | 久久国产精品视频 | 97成人精品视频在线观看 | 久久毛片| 男女网站视频 | 久久a国产 | 在线视频日韩 | 一区二区三区观看视频 | 天天干人人干 | 一区二区在线看 | 欧美日韩一区二区视频在线观看 | 夜添久久精品亚洲国产精品 | 国产成人在线看 | 精品在线视频免费观看 | 久草视| 精品久久一区二区 | 香蕉av777xxx色综合一区 | 探花在线 | 激情开心成人网 | 麻豆高清免费国产一区 | 美女扒开内裤让男人桶 | 成人欧美一区二区三区1314 | 亚洲精品一区二区三区在线 | 看真人视频a级毛片 | 午夜在线小视频 | www.福利视频 | 久久99国产精品 | 欧美成人精品一区二区男人看 | 91视频在线免费观看 | 国产精品成人免费 | 欧美三级电影在线播放 | 黄色成人av网站 | 欧美aa在线观看 | 日韩精品一区二 | 99re6在线视频精品免费 |